Результаты тестирования Valve Half-Life 2
В рамках проведения мероприятия ATi "Shader Day" в Сиэтле, игровая компания Valve впервые показала результаты тестирования Half-Life 2 на современных картах DirectX 9. Помимо этого, Гейб Ньювел (Gabe Newell) из Valve поделился информацией о проблемах, которые таит оптимизация драйверов графических карт для пользователей.
3D-движок Half-Life 2 разработан полностью под DirectX 9 и использует множество вычислений пиксельных программ-шейдеров, типа High-Dynamic Range, мягких теней (Soft Shadows) и персонажей с наложением карт среды (Bump Mapped Characters). Как сказал Гейб, Half-Life 2 является точным показателем производительности будущих DX9-приложений.
До выхода Half-Life 2, Valve планирует выпустить тестовую демо-версию игры, которая позволит покупателям, планирующим приобрести конечный продукт, проверить работу игры на своих компьютерах. Во время разработки этой демо-версии Valve обнаружила множество проблем в текущих драйверах производителей, имена которых не раскрываются. Среди проблем упомянем:
- Отсечение скрытых поверхностей, привязанное к движению камеры
- Оптимизации за счёт ухудшения качества картинки
- то есть сниженное качество фильтрации текстур, отмена тумана
- Для захвата картинки (grab) используется отдельный рендеринг
- Сниженная точность рендеринга
- Определение алгоритмов и их замена
- Работа с z-буфером, привязанная к сценам
- Специальные драйверы для тестирования, которые никогда не выйдут
- Тонкие оптимизации под приложения и под их версии
Valve обеспокоена этими проблемами, поскольку покупатели принимают решение о покупке новых карт и программ на основе результатов тестов. Проблема заключается в том, что результаты, достигнутые с помощью оптимизаций, имеют мало общего с производительностью карт в реальных играх. Как сказал Гейб: "Над нашими покупателями просто издеваются"...
Результаты производительности
Valve получила данные результаты на системе 2,8 ГГц Pentium 4 (800 МГц FSB) с официально выпущенными драйверами. Тестирование проходило в разрешении 1024x768-32 бита без включения FSAA и трилинейной (а также анизотропной) фильтрации. Итоговый результат брался как среднее арифметическое частоты кадров в нескольких демо, сходных с показанными на E3.
Производительность DirectX 9 (полная точность)
Показана средняя производительность с использованием программ DirectX 9 в режиме полной точности с плавающей запятой (24 бита на ATi, 32 бита на nVidia). Карта 9600 в таблице подразумевает Radeon 9600 Pro.
Результат FPS/$
В следующей диаграмме Valve показала результат соотношения FPS/цена в долларах. Цены были получены с сайта Pricewatch.com.
Как видим, ATi Radeon 9600 Pro демонстрирует лучший результат.
Смешанный режим карт nVidia
Видя низкую производительность карт nVidia, Valve решила разработать так называемый "смешанный режим" - код для карт NV3x. В данном коде точность работы с плавающей запятой была снижена до 16 бит вместо 32 бит там, где это было возможно осуществить без ухудшения качества картинки. Valve утверждает, что разработка отдельного кода заняла в пять раз больше времени, чем ушло на стандартный код DX9. Необходимости в специальных оптимизациях под карты ATi не было.
Три верхних результата показывают скорость смешанного режима DX9 на картах nVidia, ниже расположены результаты стандартного кода DX9. Valve смогла значительно увеличить производительность карт nVidia благодаря использованию оптимизированного кода, однако Valve предупреждает, что подобные оптимизации будут невозможны на будущих играх, поскольку сложным программам-шейдерам необходима полная точность работы с плавающей запятой.
nVidia DX8 против DX9
В следующей таблице показана производительность карт nVidia при выборе кода DX8 в Half-Life 2. Когда Valve получила эти результаты, компания приняла решение использовать код DX8 по умолчанию для карт GeForce FX 5200 и 5600, поскольку при выборе кода DX9 эти карты не могут дать достаточной для игры частоты кадров. Valve также сообщила, что между режимами DX8 и DX9 на Radeon 9800 наблюдается большая разница в производительности.
Под конец презентации Гейб Ньювел отверг слухи, что демонстрация результатов была проведена ради самих результатов. Гейб объяснил, что Valve не имела какого-либо скрытого умысла при проведении тестирования. Напротив, результаты явились финальной причиной выбора ATi в качестве партнёра по запуску Half-Life 2.