Все новости
Это интересно
Сейчас читают
Doom Eternal
Аватар Evernews Evernews

Никаких потоков — только задачи: программисты Doom Eternal делятся мелкими деталями id Tech 7

2
0
Поделиться
Телеграфировать

Примерно такая же система используется в веб-серверах.

Никаких потоков — только задачи: программисты Doom Eternal делятся мелкими деталями id Tech 7

Doom Eternal очень неплохо оптимизирован и выдает практически стабильные 60 кадров и на консолях, и на PC — причем даже тех, что не вполне соответствуют системным требованиям. Стабилизировать производительность помогла новая версия движка.

Это первая игра, сделанная на базе id Tech 7. Мы уже знаем, что от предыдущей версии технологии он отличается отсутствие мегатекстур: теперь все текстуры загружаются не одним куском, а динамически. Есть и масса более мелких улучшений.

ID Tech 7: как устроены технологии Doom Eternal

После выпуска Doom Eternal программисты id Software Билли Хан, Тиаго Суса и Аксель Гнейтинг, занимавшиеся новой версией движка, начали рассказывать о том, что под капотом у id Tech 7. Вот самые интересные моменты их рассказов.

Про потоки

В движке id Tech 7 нет основного потока или потока, занимающегося рендером. Вся работа построена на задачах, которые раскидываются по воркерам. Нагрузку распределяют равномерно: в расчете на одно процессорное ядро запускается один воркер.

Интересно, что у предыдущей версии id Tech еще был основной поток, но уже не было треда, занимающегося исключительно рендером.

Про задачи и оптимизацию

У задач, которые раскидываются по воркерам, есть система приоритетов: некоторые из них надо считать в первую очередь. С точки зрения производительности гораздо важнее думать не о процессорном кэше, а о том, чтобы все ядра были равномерно нагружены работой.

Про сглаживание

Алгоритм сглаживания, применяющийся в Doom Eternal использует до 32 временных сабсэмплов и по качеству примерно равен SSAA 32x. Но он считается асинхронно и на обычном Xbox One вычисляется всего за 0.91 мс.


Интересно, что схема задач и воркеров, которые описывают разработчики id Tech 7, очень напоминает устройство современных производительных веб-серверов: примерно так же, например, работает Nginx.

Похожее решение использует и студия Naughty Dog. Еще в 2015 году разработчики рассказывали, что в основе движка первой части The Last of Us лежит система заданий; правда, у Naughty Dog была реализована еще и система, позволяющая одновременно выполнять несколько задач в рамках одного процессорного потока.

Понравились наши истории?
Скорее добавляйте WTFTime.ru в предпочтительные источники Google — и мы всегда будем рядом.
Читать далее
GTA VI будет стоить $80 — берем?
Берем сразу Ultimate за $100
87 голосов, 16.3%
Берем базовое издание
70 голосов, 13.1%
Ждем скидку, и вот тогда — берем
50 голосов, 9.4%
Подождем выхода на ПК и возьмем бесплатно
222 голоса, 41.7%
Вообще не буду в нее играть
104 голоса, 19.5%
Теги: Doom Eternal, Игры
Аватар Evernews
Evernews
8090 подписчиков