TGViewer
GameDev: разработка игр GameDev: разработка игр @game_devv · 6.32K subscribers
Post #2034 2.2K
Task-based мышление в игровых движках

Игры всегда требовали высокой производительности системы, а игровые движки разрабатывались с учетом надлежащей поддержки многопоточных вычислений, чтобы задействовать все ресурсы компьютера. Но применение хороших абстракций сильно усложняет разработку и хотя многопоточность открывает очень широкие возможности в играх, проблем она также добавляет порядком. Вообще разработка любого софта с поддержкой многопоточности — это отдельный вопрос, и статей на эту тему написано немало. Здесь я решил показать основные шаблоны применения системы задач, которая с большой вероятностью будет реализована в любом игровом движке, ну а также их плюсы и минусы разных подходов.

Большинству игр «хватает» одного потока, это обычно подразумевает наличие главного треда, где выполняются все игровые задачи (обработка ввода, обновление мира, рендеринг и т. п.), для каждого кадра. И такая модель последовательных вычислений сохранялась очень долго, да и сейчас применяется в большом числе игр, особенно мобильных, задействую ресурсы одного ядра. Есть конечно хорошо выделяемые задачи, вроде загрузки текстур, звуков, но это скорее исключение, в силу обособленности данных для таких задач. Чтобы сделать исключение правилом разработчики игровых движков приучают пользователей этих самых движков разделять игровые «циклы» на независимые «задачи», которые могут выполняться отдельно в «менеджере задач», который уже в свою очередь может запускать их на разных ядрах. Профит тут конечно очевидный — параллельное выполнение — это основной фактор повышения производительности игр.

Что еще можно вынести в другой поток без особого ущерба для игры?

https://habr.com/ru/articles/861540/

#gamedev

👉 @game_devv
  • 👍 6
More from @game_devv
  1. Sep 14, 2026Vega Strike Это кроссплатформенный 3D-симулятор космических полетов с открытым исходным ко…
  2. Aug 25, 2026Вгрызаемся в память World of Warcraft: дрифт ценой в 20 гигабайт Разбор одной инженерной з…
  3. Jun 30, 2026Как «ужать» мегаполис до размеров iPhone 4 Помните времена, когда трава была зеленее, моби…
  4. Jun 21, 2026Создаём графику, как будто на дворе 1993 год Catlantean 3D — это хобби-проект, который я н…
  5. Jun 18, 2026👾Rockstar показали официальную обложку игры GTA VI и анонсировали предзаказы на 25 июня Р…
  6. May 25, 2026#gamedev 👉 @game_devv
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →