i3D-Quality Под микроскопом Ноябрь 2007 Crysis
Выхода этой игры ждали очень многие, хоть и по разным причинам. Кто-то ждал сиквел (пусть и «неофициальный») Far Cry; кто-то хотел насладиться незабываемой графикой; кому-то не терпелось получить весомый аргумент в спорах о том, что лучше — игровые консоли или игровые компьютеры.
А кто-то ждал Crysis с куда как более корыстными намерениями: компании-производители видеочипов и видеокарт не без оснований рассчитывали, что Crysis, будучи очень требовательной к железу игрой, заставит многих заядлых игроков раскошелиться на очередное обновление начинки своих компьютеров.
Разумеется, когда мы говорим «компании-производители», то думаем «ATI и NVIDIA», то есть, пардон, «AMD и NVIDIA». «Сладкая парочка» успешно выдавила с рынка всех конкурентов помельче, после чего конкуренция лишь обострилась — борьба идёт буквально за каждый голос, за каждый кадр, за каждый бенчмарк.
В условиях близости производительности новых видеокарт двух заклятых конкурентов в новой, сверхтребовательной и популярной игре, и у NVIDIA, и у AMD неизбежно появляется желание (если не прямое требование руководства) обеспечить своим продуктам пусть минимальное, но лидерство. А как сделать это быстро и дешево, без продолжительных и потенциально затратных переговоров с разработчиками? Правильно — чего-нибудь «подкрутить» посредством нового драйвера.
И вот в сети появляются слухи, согласно которым NVIDIA в новой версии драйверов (169.04) «читит» в Crysis — упрощает графику ради достижения более высокой производительности.
«Чит» не так прост: заметить его можно лишь самому (ни скриншоты, ни ролики, записанные при помощи Fraps, его не передают) и только в режиме бенчмарка. При быстром перемещении камеры относительно поверхности воды становится видно, что видеокарты NVIDIA с новым драйвером обновляют отражения берегов в водной поверхности несколько реже, нежели это делают видеокарты AMD, и, что самое главное, реже, нежели сами видеокарты NVIDIA с драйвером предыдущей версии.
NVIDIA довольно оперативно реагирует на обвинения и примерно через неделю выпускает новую версию драйвера, в которой эта ошибка оказывается исправленной, а производительность даже несколько вырастает (определённая задержка в обновлении отражений остаётся, но она присутствует на всех видеокартах и является особенностью работы шейдера, отвечающего за формирование воды в Crysis — частоту обновления отражений можно регулировать консольной командой). Однако репутация компании уже опять «подмочена», появляются подозрения — а что если эта ошибка была допущена сознательно; что если это действительно чит, а не ошибка?
Мы также заинтересовались этим вопросом и решили посвятить первое «микроскопное» тестирование раздела i3D-Quality игре Crysis, а точнее — сравнению качества рендеринга, которое обеспечивают в этой игре DX10-видеокарты AMD и NVIDIA.
Особенности движка Crysis — CryEngine 2
Прежде чем переходить к сравнению скриншотов, необходимо отметить особенности, непосредственно влияющие на сопоставление качества, обеспечиваемого разными видеокартами в Crysis.
Crysis содержит целых 4 рендерера:
- 32-битный DX9-рендерер;
- 64-битный DX9-рендерер;
- 32-битный DX10-рендерер;
- 64-битный DX10-рендерер.
Как мы покажем ниже, ВСЕ ОНИ отличаются друг от друга в качестве выдаваемой картинки.
Отметим, что вопрос сравнения качества рендеринга разных рендеров нас сегодня не интересует — возможно, мы посвятим этому вопросу одно из следующих исследований (благо, что, по сообщениям сети, при помощи определенного набора консольных команд можно заставить DX9-рендерер игры выдавать почти такое же качество, которое выдаёт DX10-рендерер).
Однако некоторые особенности, присутствующие на приведённых ниже скриншотах, следует объяснить прямо сейчас.
Итак, первая особенность, которая может быть далеко не очевидной для тех, кто никогда не играл в Crysis: «солнце» в мире Crysis движется по небосводу и, согласно этому движению, в игре изменяется освещение, иначе выглядят тени.
Причем, движение происходит настолько быстро, что два скриншота, снятые с одного и того же места с разницей в 30 секунд, могут разительно отличаться друг от друга. Например:
|
Сразу после загрузки
|
Через 30 секунд
|
|
|
Неправда ли, разительная разница? А между тем скриншоты сняты с одной и той же видеокарты, на одних и тех же настройках, но — с разницей примерно в 30 секунд между снятием первого и второго скриншотов.
Если не знать об этой особенности игры, то можно легко принять (или попытаться преподнести...) скриншот с отсутствием тумана за доказательство «злобных читов» какой-либо из двух компаний-конкурентов.
Таким образом, первое правило сравнения качества в Crysis гласит: скриншоты следует делать «одновременно», сразу после загрузки какого-либо сохранения; небольшие отличия в освещении, насыщенности тумана, направлении и размерах теней могут быть обусловлены разницей во «времени» снятия скриншотов.
Но это еще не всё. Вторая особенность присуща 32-битным рендерерам Crysis и связана, вероятнее всего, с размером адресного пространства, доступного под ОС Windows 32-битным приложениям.
Давайте снова посмотрим на скриншоты:
|
Начало подгрузки
|
Завершение подгрузки
|
|
|
Обратите внимание на текстуры руки с оружием, горы и камней на берегу: они разительно отличаются по своему качеству в момент непосредственно сразу после загрузки уровня и спустя 10-15 секунд после этого момента.
32-битный рендерер (как DX9, так и DX10) «подгружает» более детализированные версии текстур уже после того, как движок Crysis загрузил сам уровень и отдал управление в руки игрока.
Более того, эти «подгрузки» осуществляются не только на старте уровня или в момент загрузки сохранения, но и после, непосредственно в процессе игры. Стоит вам «отвернуться» от горы на горизонте, а затем резко развернуться обратно — и вы сможете лицезреть эффект «подгрузки» более детализированных текстур повторно.
Другими словами, налицо результат работы алгоритма LOD, упрощающего ненужные в данном конкретном кадре ресурсы, чтобы сэкономить драгоценные мегабайты доступной 32-битным приложениям оперативной памяти.
Да, как вы уже поняли, в 64-битных версиях рендереров этот алгоритм отсутствует — игра всегда и для всего использует ресурсы (текстуры, модели) наивысшей детализации (видимо, потому, что экономить ОЗУ 64-битному приложению не нужно, у него её — хоть залейся).
Отсюда следует второе правило сравнения качества в Crysis: сравнивая с чем-либо или между собой качество 32-битных рендереров игры, дождись, пока они загрузят текстуры максимального качества, иначе сравнение может получиться неправильным.
Ну, и, разумеется, существенно отличаются между собой DX9- и DX10-рендереры — последние обеспечивают «доступ» к настройкам уровня Very High, в то время как первые довольствуются режимом High в качестве максимального.
Как мы уже отметили, в сети полно сообщений и даже целых FAQ, посвященных тому, как на DX9-рендерерах Crysis получить качество DX10-рендереров. Разумеется, есть и «очевидцы», утверждающие, что «твикнутый» DX9-рендерер не только ничем не уступает по качеству DX10-рендереру, но при этом еще и обеспечивает более высокую производительность.
Мы заинтересовались этими сообщениями, но в силу сугубо временных ограничений не смогли включить их в ноябрьский выпуск i3D-Quality. Возможно, что мы изучим эти «твики» в одном из наших следующих выпусков.
А пока давайте перейдём к самому вкусному — сравнению качества, обеспечиваемого в Crysis видеокартами GeForce 8800 и Radeon HD 2900.
GeForce vs. Radeon
Сравнение разбито на 4 группы — по числу рендереров игры. Начнём с тех, что попроще — с 32- и 64-битных DX9-рендереров.
Но прежде чем переходить к сравнению, дадим одно последнее пояснение: по неизвестной для нас причине утилита Fraps не сумела снять скриншоты из DX9-рендерера Crysis с правильной гаммой, поэтому яркость скриншотов нам пришлось править «вручную» в графическом редакторе.
Другими словами, не удивляйтесь разнице в яркости DX9- и DX10-скриншотов — она и не должна быть одинаковой. Кроме того, в DX10-рендерере, в настройках Very High используются существенно более мощные алгоритмы постобработки, заметно изменяющие внешний вид той же сцены в сравнении с High-настройками.
Конфигурация системы
- AMD Athlon 64 X2 4600+ / NVIDIA nForce4 SLI / 4 ГБ DDR400 ОЗУ
- ОС Microsoft Windows Vista 64-bit
- ATI Radeon HD 2900 XT, драйверы Catalyst 7.11 (8.432)
- NVIDIA GeForce 8800 Ultra, драйверы ForceWare 169.12
Настройки драйверов: Catalyst, ForceWare
Игра запускалась в разрешении 1280х960 с AA 4x (мы решили, что более высокие степени AA на этом поколении видеокарт в Crysis всё равно никто использовать не будет).
Внимание: полноразмерные версии скриншотов представлены в формате PNG в полноценном качестве. Размер скриншотов варьируется от 1,5 до 3,0 МБ!
32-bit, DirectX 9
|