Введение
После вчерашней критики nVidia со стороны Гейба Ньювела из Valve, пресса получила возможность собственноручно протестировать Half-Life 2. В рамках проведения “ATi Shader Day” нам позволили протестировать игру на четырёх машинах, предоставленных ATi. В то же время мы получили официальное заявление nVidia.
Тестирование проводилось на компьютерах с процессором Intel Pentium 4 2,8 ГГц (FSB 800), оснащённых 1 Гбайт памяти и официальными версиями драйверов от ATi и nVidia:
- NVIDIA: Detonator v45.23
- ATI: Catalyst v3.7
Valve не позволила нам провести тесты с бета-версией будущего драйвера nVidia – Detonator 50. Valve пояснила, что компания желает видеть результаты только финальных и готовых версий драйверов. Однако мы до сих пор ждём более детальных пояснений, почему Valve не понравилась бета-версия драйвера. nVidia попросила нас провести тестирование именно с этим драйвером, поскольку он содержит множество легальных оптимизаций для игр DX9, включая Half-Life 2, и было бы неплохо взглянуть на результаты тестов именно с ним. С другой стороны, условия тестирования соответствовали таковым во время тестов Doom III (чуть раньше в этом году), когда нам не дали возможность установить более подходящий драйвер для карт ATi.
Нам не очень понравилось ограниченное время для тестовых прогонов – всего 90 минут. Некоторые карты требуют более 20 минут для одной конфигурации. Таким образом, у нас не было времени для проверки результатов. Для сравнения: при тестировании Doom III у nVidia (чуть раньше в этом году) в нашем распоряжении был почти весь день – с 8.00 утра и до полуночи.
Реакция nVidia
На следующий день после презентации Valve nVidia выслала нам официальные комментарии по поводу ситуации:
За последние 24 часа появилось множество дискуссий по поводу комментариев Гейба Ньювела из Valve на мероприятии “ATI Shader Day”.
NVidia, на протяжении всего процесса разработки Half-Life 2, осуществляла близкий технический контакт с Valve по поводу этой игры. Однако Valve не ознакомила нас с проблемами, изложенными Гейбом.
Мы были немного обескуражены, почему Valve решила использовать Release. 45 (Rel. 45), поскольку за две недели до “Shader Day” мы очень близко сотрудничали с Valve, чтобы гарантировать применение Release 50 (Rel. 50), так как данная версия лучше всего использует возможности аппаратного обеспечения nVidia.
Что касается результатов производительности Half-Life 2, опубликованных в Интернете, мы считаем, что они не являются корректными, поскольку при их получении не использовался драйвер Rel. 50. Инженерные доработки драйверов Rel. 45 остановились несколько месяцев назад, поскольку мы сконцентрировали все усилия на Rel. 50. В новые драйверы Rel. 50 включены оптимизации для Half-Life 2 и других новых игр, причём на руках у обозревателей уже находится бета-версия. Rel. 50 – это лучший драйвер, который мы когда-либо создавали. Он содержит существенные оптимизации для высокопрограммируемой архитектуры GeForce FX, поддерживает функции и обеспечивает прирост производительности, что придётся кстати более чем 100 миллионам пользователей графических процессоров nVidia.
В ожидании получения детальной информации от Valve, мы знаем только об одной проблеме Rel. 50 и версии Half-Life 2, которую мы имеем на руках, – она связана с туманом, как было указано Гейбом во время презентации. Но это не уловка и не чрезмерная оптимизация. Наша версия Half-Life 2 была прислана больше двух недель назад.
Драйвер nVidia Rel. 50 будет опубликован до выхода игры. Мы знаем, что получение наилучшей производительности пиксельных программ на процессорах GeForce FX требует определённой специализированной работы, и наша команда инженеров-разработчиков работает очень тесно с игровыми разработчиками. Следует учитывать, что во многих случаях переход с PS 1.4 (DirectX 8) на PS 2.0 (DirectX 9) не даёт улучшения качества изображения. Иногда при этом 32-битные операции с плавающей запятой у программ-шейдеров заменяются на 16-битную точность, чтобы получить прирост производительности без ущерба качеству изображения. Наша цель заключается в получении признания пользователей, то есть игры должны как великолепно выглядеть, так и быстро работать.
Оптимальные коды для графических процессоров ATi и nVidia отличаются, поэтому попытка тестирования процессоров на одинаковом коде всегда приведёт к отставанию того или иного продукта. Настройки по умолчанию для каждой игры выбираются совместно разработчиками и инженерами nVidia, чтобы дать наилучший результат для наших потребителей.
В дополнение к усилиям по разработке, наша команда по работе с драйверами разработала автоматический оптимизатор программ-шейдеров следующего поколения, который позволяет существенно улучшить производительность пиксельных программ GeForce FX. Плоды этих усилий можно будет увидеть в драйвере Rel. 50, в который также включены многие другие улучшения, причём все они были созданы для первой волны игр DirectX 9, типа Half-Life 2.
Мы продолжаем сотрудничать с Гейбом, чтобы полностью понять его опасения, а также с Valve, чтобы гарантировать должные впечатления от игры Half Life 2 более чем ста миллионам пользователей продуктов nVidia.
Half-Life 2
Все тесты были проведены на специальной тестовой версии Half-Life 2, предоставленной Valve. Для тестирования использовались три демо, которые совпадают со сценами демо Valve, показанной на E3.
Чтобы продемонстрировать технологию программ-шейдеров, использованную Valve в Half-Life 2, компания предоставила нам новый видеоролик, который можно свободно скачать. Он демонстрирует использование технологий эффектов высокого динамического диапазона, мягких теней и т.д. К сожалению, тест производительности этого демо был невозможен.
Вы можете скачать ролик со следующих сайтов
Тестирование
В зависимости от карты, один тестовый прогон занимал до 20 минут. Мы физически не смогли за полтора часа, предоставленными нам Ati, протестировать все интересные конфигурации типа полноэкранного сглаживания и анизотропной фильтрации на всех картах. Поэтому мы скооперировались с Дейвом Бауманом (Beyond3D), Брэндоном Беллом (Firingsquad) и Бобом Калайко (Gamespot), что позволило нам использовать общее время для проведения дополнительных тестов. Поскольку мы также принесли с собой карту GeForce FX 5600 Ultra (Flipchip), мы смогли получить результаты производительности и на этой карте. ATi смогла предоставить нам только FX 5600 (не-Ultra).
В связи с тем, что время было ограничено и нам пришлось кооперироваться без какого-либо предварительного планирования, мы не смогли дать некоторые результаты и пропустили ряд конфигураций. Мы также не уверены в корректности результатов при включении анизотропной фильтрации. Учитывая эти факторы и спешку, к приведённым здесь цифрам следует относиться очень осторожно. Мы не смогли проверить результаты во втором прогоне, чтобы убедиться в их правильности.
Half-Life 2 – 1024×768-32
На диаграмме показаны результаты карт при использовании различных путей кода в движке Half-Life. DX9 FP обозначает “полная точность с использованием пиксельных программ 2.0”. DX9 HP – “половинная точность с использованием пиксельных программ 2.0”, и этот режим может работать только на картах nVidia. Третья конфигурация, проверенная нами, – путь кода DirectX 8.1.
Карты ATi лидируют. Больше всего впечатляет, что Radeon 9600 Pro обогнал FX 5900 Ultra. FX5600 должна работать в режиме DX 8.1, чтобы получить результат выше 25 FPS. Уровни результатов для каждого демо сильно различаются.
Half-Life 2- 1280×1024-32
Карты FX 5600 не смогли запуститься в этом разрешении. У нас нет результатов DX 8.1 для Radeon 9600 Pro.
Half-Life 2- 1024×768-32 – 4x сглаживание
Вновь карты ATi демонстрируют безоговорочное лидерство. Даже с половинной точностью FX 5900 не может близко подобраться к лидеру 9800 Pro.
Half-Life 2- 1024×768-32 – 8x анизотропная фильтрация
Мы не уверены насчёт результатов FX 5900 при использовании половинной точности, поскольку они идентичны результатам без использования анизотропной фильтрации. Вероятно, причиной стала ошибка или неправильная настройка конфигурации при запуске. Результаты FP демонстрируют падение производительности. Как мы уже объясняли ранее, все результаты следует считать предварительными.
Заключение
Результаты говорят сами за себя. Карты ATi работают намного быстрее в Half-Life 2. Самые плохие результаты оказались у карты nVidia GeForce FX 5600 Ultra – они слишком низки для карты DirectX 9. Даже использование оптимизированного кода в игре для карт nVidia (смешанный режим), где используется уменьшенная точность работы с плавающей запятой и отсутствуют эффекты высокого динамического диапазона, не приводит к получению удовлетворительного результата на этих картах. С другой стороны, нам следует признать, что у nVidia в запасе есть уйма времени, чтобы исправить проблемы с выпуском новой версии драйверов и ускорить работу карт с Half-Life 2. Сама игра должна выйти в ноябре этого года. Поскольку нам не позволили протестировать карты с бета-версией нового драйвера nVidia Detonator 50, мы не знаем, какой прирост производительности даст этот драйвер. nVidia утверждает, что новый драйвер существенно улучшает производительность карт в играх DirectX 9. Мы надеемся получить от Valve точные разъяснения по поводу проблем компании с драйвером Detonator 50.
В связи с продолжающимися дискуссиями по поводу “легальных” и “нелегальных” оптимизаций драйверов, некоторые люди потеряли доверие к nVidia. И новая критика от Valve вовсе не помогает nVidia в восстановлении пошатнувшейся репутации. Но теперь Valve придётся придумывать решение и давать более подробное объяснение, почему миллионы владельцев карт nVidia не получат нормальной производительности в Half-Life 2. Ведь в интересах Valve будет продать максимальное число копий игры.
С другой стороны, nVidia придётся доказать, что карты компании готовы к играм DX9. Именно это компания обещает с выпуском нового драйвера Detonator 50.