Студия разработчиков, из стен которой вышли такие исторической важности игры, как DOOM и Quake, когда-то была непререкаемым авторитетом в сфере игрового дизайна вообще и в игровой графике в частности. По сравнению с более крупными компаниями, где производство поставлено на поток, наименования, принадлежащие id Software, можно пересчитать по пальцам, но то, чем она прославилась в 90-е — это игры поколения, не меньше. Увы, только те люди, для которых игровой опыт закончился на третьей «Кваке», с тех пор сохранили благоговейное отношение к id Software. Quake 3 Arena стала для компании последним безоговорочным хитом. Хотя она в свое время разочаровала массовую публику отсутствием однопользовательского режима, в качестве киберспортивной дисциплины Quake 3 был эталонным проектом, а игры сторонних разработчиков, построенные на базе движка id Tech 3, исчисляются десятками.
С того времени id Software породила только две по-настоящему новых игры — DOOM 3 и Rage ни одной из которых не было суждено повторить успех предшественников. Золотые времена id Software миновали так давно по меркам компьютерной индустрии, что казалось, будто возврат в былую форму для студии уже невозможен. На этом фоне известие о том, что следующая часть DOOM находится в разработке, было воспринято с прохладцей, а раз за разом сорванные сроки выпуска (игра готовилась с 2008 года) и вовсе не предвещали ничего хорошего. После ухода из id Software ключевых фигур — программиста Джона Кармака и CEO Тодда Холленсхеда — и ряда других работников можно было делать ставки на то, что следующая часть DOOM никогда не увидит свет.
Однако всем уже известно, что новый DOOM вопреки всем невзгодам удался на славу. Воздав должное игровому процессу и графической реализации игры в нашей рецензии, теперь мы поговорим более подробно о том, что она собой представляет с технической точки зрения и какое железо потребуется, чтобы с комфортом рубиться в нее при различных настройках и разрешениях экрана.
Перед нами первая игра, построенная на базе графического движка id Software шестой версии. Две предшествующие дебютировали, соответственно, в DOOM 3 и Rage, а id Tech 6 вобрал в себя их лучшие качества. Кроме того, в работе над id Tech 6 принимали участие люди из Crytek, создававшие Cry Engine, и эту часть наследственности DOOM также можно обнаружить в некоторых аспектах графики. Команда разработчиков преследовала двойную цель — достичь высокого качества изображения и одновременно обеспечить частоту кадров не менее 60 FPS при разрешении 1920 × 1080. Как и в прошлых итерациях, движок DOOM на ПК использует API OpenGL (в то время как большинство игр такого уровня базируются на Direct3D), а в одном из ближайших патчей в нем появится поддержка низкоуровневого API Vulkan.
Но вернемся еще раз в прошлое id Software. Кардинальное отличие id Tech 4 от id Tech 5 состоит в том, как оба движка (по крайней мере, в реализациях, продемонстрированных в DOOM 3 и Rage) справляются с задачей освещения и отрисовки теней. Проекты на основе id Tech 4 отличает от основной массы игр, выпущенных до и после, система полностью динамического попиксельного освещения, реализованного при помощи патентованного алгоритма объемных теней (Shadow Volumes). Последние представляют собой невидимую геометрию, сгенерированую на лету путем проецирования лучей от источника света к границам заслоняющих его объектов. Объемная тень делит все пикселы текстур в сцене на две категории — находящиеся в тени и на свету. Как следствие, в DOOM 3 можно увидеть только тени с острыми краями (что, впрочем, вписывается в стилистику игры). Кроме того, хотя данная техника затенения несопоставима по требуемым ресурсам с принципиально схожими алгоритмами Ray Tracing и Ray Casting, используемыми для рендеринга фотореалистичных изображений в профессиональной сфере, DOOM 3 был очень тяжелой игрой для своего времени, и даже на современном игровом железе полностью динамическое и оптически достоверное освещение в играх лишено практического смысла.
Rage представляет собой другую крайность: здесь освещение создано при помощи карт теней и практически не имеет динамических элементов. В свою очередь, новый DOOM реализует комбинированный подход, характерный для всех популярных графических движков современности: освещение в игре по большей части реализовано картами теней, но многие источники света порождают динамически меняющиеся тени — не такие детализированные, как в DOOM 3, но и не столь ограничивающие репертуар дизайнерских решений. В честном 3D здесь созданы только некоторые эффекты дыма и тумана. Дополнительно id Tech 6 применяет SSDO (Screen Space Directional Occlusion) и Screen Space Reflections для аппроксимации света, отраженного от матовых и зеркальных поверхностей соответственно, и Specular Lightning для создания бликов.
К добру или к худу, но в DOOM применяется MegaTexture — фирменная технология, которая присутствовала уже в арсенале возможностей id Tech 4 и затем активно использовалась в Rage для создания колоссальных пейзажей с уникальными деталями. Фрагменты текстур, находящиеся в поле зрения игрока, игра на лету подгружает в память GPU, и, хотя артефакты, вызванные дополнительной латентностью, не так режут глаз, как в Rage, то и дело можно заметить, как движок DOOM заменяет фрагменты текстур низкого разрешения детализированными копиями. Это, пожалуй, единственный ярко выраженный технический недостаток игры.
Большим нововведением DOOM в плане текстур является PBR (Physical Based Rendering), который все чаще применяется в играх класса ААА (одним из первых образчиков стал Fallout 4, затем Rise of the Tomb Raider и Tom Clancy’s the Division).
Другая важная составляющая визуального аспекта DOOM – активное использование частиц для рендеринга огня, взрывов и пр. Частицы также могут принимать тени от источников света в сцене.
И наконец, особенно хорошо id Software удались эффекты постобработки: боке, размытие движущихся объектов и полноэкранное сглаживание. Последнее представлено в вариантах FXAA, SMAA, TXAA и TSSAA, из которых первые два представляют собой фильтры, обнаруживающие и размывающие пикселы в проекции краев полигонов на экран (SMAA при этом не столь размывает остальные участки изображения). TAA – более сложный алгоритм, не сводимый к постобработке, который использует выборку пикселов из последовательных кадров для того, чтобы устранить мерцание краев движущихся объектов. Наконец, наилучший результат обеспечивает TSSAA — еще один временной алгоритм, комбинирующий выборку из смежных кадров с помощью суперсемплинга, но далеко не столь ресурсоемкий по сравнению со стандартным SSAA, который в DOOM не применяется.
DOOM, помимо настроек полноэкранного сглаживания и постобработки, предлагает четыре предустановленных профиля, включащих все остальные графические опции: Low, Medium, High и Ultra. В последнем все настройки установлены на максимум, кроме анизотропной фильтрации (и это довольно странно, если учесть, что переход от 8x к 16х в этом параметре практически не влияет на быстродействие современных GPU).
Тестирование видеокарт мы проводили в режимах Low и Medium (без полноэкранного сглаживания), а также при максимальных значениях всех настроек (сглаживание в режиме TSSAA 8TX). На скриншотах ниже показано, как три выбранных режима меняют изображение в DOOM.
⇡#Тестовый стенд, методика тестирования
Конфигурация тестовых стендов | |
---|---|
CPU | Intel Core i7-5960X @ 4 ГГц (100 × 40) |
Материнская плата | ASUS RAMPAGE V EXTREME |
Оперативная память | Corsair Vengeance LPX, 2133 МГц, 4 × 4 Гбайт |
ПЗУ | Intel SSD 520 240 Гбайт |
Блок питания | Corsair AX1200i, 1200 Вт |
Охлаждение CPU | Thermalright Archon |
Корпус | CoolerMaster Test Bench V1.0 |
Операционная система | Windows 8.1 Pro X64 |
ПО для GPU AMD | Radeon Software Crimson Edition 16.3.1 |
ПО для GPU NVIDIA | 364.51 WHQL |
Энергосберегающие технологии CPU во всех тестах отключены. В настройках драйвера NVIDIA в качестве процессора для вычисления PhysX выбирается CPU. В настройках AMD настройка Tesselation переводится из состояния AMD Optimized в Use application settings.
Измерение частоты смены кадров выполнялось вручную при помощи FRAPS на уровне Foundry из однопользовательской компании. Это один из самых требовательных к производительности этапов игры.
В тестировании приняли участие актуальные линейки видеоадаптеров AMD и NVIDIA наряду с устройствами на одно-два поколения старше. Младшие представители соответствующих линеек, отсутствующие на диаграммах и в списке, были протестированы, но не обеспечили частоты смены кадров свыше 30 FPS даже в наименее требовательном режиме.
Для официально выпускаемых на сегодняшний день моделей мы приводим рекомендованные розничные цены на рынке США, в долларах. Они, как правило, соответствуют образцам, работающим на референсных частотах. Рублевых цен мы в последнее время избегаем в связи с тем, что текущие рекомендованные значения зачастую неизвестны либо слабо соотносятся с действительностью. К тому же все слишком сильно меняется вместе с колебаниями курса валют.
Мы сгруппировали тесты, ориентируясь в первую очередь на разрешение экрана. При каждом из трех разрешений (1920 × 1080, 2560 × 1440, 3840 × 2160) проводился тест двумя предустановками качества графики (Low и Medium), а затем – со всеми настройками на максимуме. При определенном разрешении для каждой видеокарты из диаграмм исключены результаты, если а) при более высоком качестве графики устройство обеспечивает от 60 FPS и выше; б) в данном режиме не обеспечивает 30 FPS. Таким образом для отдельно взятой видеокарты определяется диапазон качества графики между «едва тянет» и «снижать качество не требуется».
1920 × 1080
В качестве рекомендации для апгрейда мы вынесли в таблицу результаты видеокарт AMD и NVIDIA различных поколений, обладающие достаточным быстродействием, чтобы средняя частота смены кадров в каждом конкретном режиме превышала пороговые значения — 30 и 60 FPS.
Low | ||||||
1920 × 1080 | 2560 × 1440 | 3840 × 2160 | ||||
≥ 30 FPS |
≥ 60 FPS | ≥ 30 FPS | ≥ 60 FPS | ≥ 30 FPS | ≥ 60 FPS | |
Radeon 200 | AMD Radeon R9 270X (2 Гбайт) | AMD Radeon R9 285 (4 Гбайт) | AMD Radeon R9 285 (4 Гбайт) | AMD Radeon R9 290 (4 Гбайт) | AMD Radeon R9 280X (3 Гбайт) | — |
Radeon 300 | — | AMD Radeon R9 370 (4 Гбайт) | AMD Radeon R9 370 (4 Гбайт) | AMD Radeon R9 390 (8 Гбайт) | AMD Radeon R9 390 (8 Гбайт) | — |
GeForce 700 | NVIDIA GeForce GTX 760 (2 Гбайт) | NVIDIA GeForce GTX 780 (3 Гбайт) | NVIDIA GeForce GTX 770 (2 Гбайт) | NVIDIA GeForce GTX 780 Ti (3 Гбайт) | NVIDIA GeForce GTX 780 Ti (3 Гбайт) | — |
GeForce 900 | NVIDIA GeForce GTX 950 (2 Гбайт) | NVIDIA GeForce GTX 970 (4 Гбайт) | NVIDIA GeForce GTX 960 (2 Гбайт) | NVIDIA GeForce GTX 970 (4 Гбайт) | NVIDIA GeForce GTX 970 (4 Гбайт) | — |
GeForce 10 | — | NVIDIA GeForce GTX 1080 (8 Гбайт) | — | NVIDIA GeForce GTX 1080 (8 Гбайт) | — | NVIDIA GeForce GTX 1080 (8 Гбайт) |
Medium | ||||||
1920 × 1080 | 2560 × 1440 | 3840 × 2160 | ||||
≥ 30 FPS | ≥ 60 FPS | ≥ 30 FPS | ≥ 60 FPS | ≥ 30 FPS | ≥ 60 FPS | |
Radeon 200 | AMD Radeon R9 270X (2 Гбайт) | AMD Radeon R9 285 (4 Гбайт) | AMD Radeon R9 285 (4 Гбайт) | AMD Radeon R9 290 (4 Гбайт) | AMD Radeon R9 290 (4 Гбайт) | — |
Radeon 300 | AMD Radeon R9 370 (4 Гбайт) | AMD Radeon R9 380 (4 Гбайт) | AMD Radeon R9 370 (4 Гбайт) | AMD Radeon R9 390 (8 Гбайт) | AMD Radeon R9 390 (8 Гбайт) | — |
GeForce 700 | NVIDIA GeForce GTX 770 (2 Гбайт) | NVIDIA GeForce GTX 780 (3 Гбайт) | NVIDIA GeForce GTX 770 (2 Гбайт) | NVIDIA GeForce GTX 780 Ti (3 Гбайт) | NVIDIA GeForce GTX 780 Ti (3 Гбайт) | — |
GeForce 900 | NVIDIA GeForce GTX 960 (2 Гбайт) | NVIDIA GeForce GTX 970 (4 Гбайт) | NVIDIA GeForce GTX 960 (2 Гбайт) | NVIDIA GeForce GTX 970 (4 Гбайт) | NVIDIA GeForce GTX 970 (4 Гбайт) | — |
GeForce 10 | NVIDIA GeForce GTX 1080 (8 Гбайт) | — | NVIDIA GeForce GTX 1080 (8 Гбайт) | — | NVIDIA GeForce GTX 1080 (8 Гбайт) | |
Max | ||||||
1920 × 1080 | 2560 × 1440 | 3840 × 2160 | ||||
≥ 30 FPS | ≥ 60 FPS | ≥ 30 FPS | ≥ 60 FPS | ≥ 30 FPS | ≥ 60 FPS | |
Radeon 200 | AMD Radeon R9 285 (4 Гбайт) | AMD Radeon R9 280X (3 Гбайт) | AMD Radeon R9 285 (4 Гбайт) | — | AMD Radeon R9 290X (4 Гбайт) | — |
Radeon 300 | AMD Radeon R9 370 (4 Гбайт) | AMD Radeon R9 390 (8 Гбайт) | AMD Radeon R9 380 (4 Гбайт) | AMD Radeon R9 390 (8 Гбайт) | AMD Radeon R9 Fury (4 Гбайт) | — |
GeForce 700 | NVIDIA GeForce GTX 770 (2 Гбайт) | — | NVIDIA GeForce GTX 780 (3 Гбайт) | — | — | — |
GeForce 900 | NVIDIA GeForce GTX 960 (2 Гбайт) | NVIDIA GeForce GTX 970 (4 Гбайт) | NVIDIA GeForce GTX 970 (4 Гбайт) | NVIDIA GeForce GTX 980 (4 Гбайт) | NVIDIA GeForce GTX 970 (4 Гбайт) | — |
GeForce 10 | — | NVIDIA GeForce GTX 1080 (8 Гбайт) | — | NVIDIA GeForce GTX 1080 (8 Гбайт) | NVIDIA GeForce GTX 1080 (8 Гбайт) | — |
В целом для игры такого калибра DOOM работает неожиданно быстро на существующем железе. В особенности если сравнить ее с двумя другими недавними проектами, сильными своей технической стороной, — Rise of the Tomb Raider и Tom Clancy’s the Division. В то время как последние даже на топовых GPU 900-й серии от NVIDIA и семейства Fury от AMD не оставляют запаса по частоте смены кадров, DOOM летает в разрешениях 1920 × 1080 и 2560 × 1440, а избыточный фреймрейт приходится как нельзя кстати при такой бешеной динамике.
Сравнительная нетребовательность DOOM отчасти объясняется тем, что в ней не используется полноэкранное сглаживание по методу SSAA, и это автоматически снижает планку для максимальных настроек графики. Вторая причина — это то, что DOOM — преимущественно игра закрытых пространств, да и проработка окружения в ней весьма неоднородна (все-таки сказывается долгий и проблемный процесс разработки). Но надо отдать должное команде разработчиков, которые столь хорошо оптимизировали движок, выбрасывающий на экран толпы детализированных монстров, облака частиц и множественные источники динамического освещения.
Несмотря на то, как хорошо DOOM себя чувствует на мощном железе, входная планка для комфортной игры здесь достаточно высока. Производительность не масштабируется так сильно в зависимости от настроек графики, как бывало с иными играми, в которых мы проводили групповые тесты. DOOM также требователен к объему RAM графической карты. С 2-3 Гбайт видеопамяти нельзя одновременно получить высокое качество изображения и комфотный фреймрейт, а на максимальных настройках и разрешениях выше 1920 × 1080 уже и 4 Гбайт становится недостаточно.