Многих пользователей, обладающих видеокартами на базе чипов от компании NVIDIA, давно волнует одна проблема — проблема драйверов: "Какой драйвер выбрать для своего ускорителя? С помощью какого драйвера можно получить максимальную производительность? Есть ли смысл устанавливать все новые и новые версии драйверов, которые появляются с завидным постоянством? Чем лучше новый драйвер своих предшественников?" Эти, а также и многие другие вопросы, касающиеся данной темы, часто можно встретить в сети в различных конференциях и на специализированных сайтах, посвященных программному обеспечению, играм и современному компьютерному оборудованию. Мы решили разобраться в этом вопросе и провели сравнительный обзор различных версий референсных драйверов, имеющих звучное имя Detonator и выпущенных в течение последнего года.
Напомню, что компания NVIDIA выпускает драйверы Detonator сразу для целой линейки своих чипов, включающей: RIVA TNT, TNT2, TNT2 Vanta, TNT2 Model 64, TNT2 Ultra, TNT2 Pro, GeForce, GeForce DDR, GeForce 2 GTS, GeForce 2 MX. В свою очередь, известные фирмы-производители видеокарт на чипах от NVIDIA (такие, как CREATIVE LABS, ASUS, LEADTEK, ELSA и другие) сами выпускают драйверы для своих продуктов, однако базируются эти драйверы на референсных Detonator. Следовательно, все, что будет сказано про референсные Detonator, можно отнести и к драйверам, выпускаемым фирмами-производителями видеокарт.
Итак, перейдем непосредственно к обзору, то есть к тестированию. Мы измеряли производительность следующих версий драйверов Detonator: 2.08, 3.69, 3.77, 5.13, 5.16, 5.22, 5.30 и 5.32. Измерения проводились на двух видеокартах, позиционируемых для разных секторов потребительского рынка:
- CREATIVE Graphics Blaster RIVA TNT2 Value 16 Mb AGP
- ASUS AGP V-3800 RIVA TNT2 Pro 32 Mb
Карта от CREATIVE LABS построена на чипе TNT2 Model 64, у которого уменьшена ширина шины памяти в два раза (с 128-ми до 64-х бит). Она имеет 16 Мбайт памяти типа SDRAM и работает по умолчанию на частотах 125/150 MГц (чип/память). Карта от ASUS построена на более мощном чипе TNT2 Pro, выполненном по технологии 0,22 мкм, имеет 32 Мбайта памяти SGRAM памяти и работает по умолчанию на частотах 142/166 MГц (чип/память).
Оценивать скоростные показатели мы будем с помощью трех игр:
- id Software Quake 2 v.3.20 (OpenGL, мультитекстурирование, Massive1)
- id Software Quake 3 v.1.16n (OpenGL, мультитекстурирование, Demo002)
- Epic Unreal Tournament v.4.00 (Direct3D, мультитекстурирование, Wicked400)
Этих "инструментов" вполне достаточно для того, чтобы показать производительность видеокарты при использовании двух основных API.
Для тестирования применялся компьютер в следующей конфигурации:
- процессор — Celeron 366, разогнанный до 550 (5,5*100MГц, vcore 2.1 V)
- переходник — MSI MS-6905 (с возможностью изменения питания ядра)
- материнская плата — ASUS P2B (Rev.1.02, BIOS ver.1012)
- память — 64 Mb LG (РС100) и 128 Mb M-tec (РС100)
- операционная система Windows 98SE + DirectX 7.0
- звуковая плата AUREAL Vortex AU8820
- жесткий диск SEAGATE ST31722A 1.7 GB UATA 33
После установки драйвера Detonator отключалась вертикальная синхронизация VSYNC и устанавливалась кадровая частота монитора 75 Герц для всех разрешений. Остальные настройки были по умолчанию. Также хочу отметить одно обстоятельство, а именно — влияние параметра Graphics Aperture Size в BIOS материнской платы на производительность видеокарты. Этот параметр задает размер оперативной памяти компьютера, которая будет использоваться для AGP-текстурирования. Старые версии драйверов Detonator не поддерживали AGP-текстурирование ни в Direct3D, ни в OpenGL играх, и поэтому приходилось уменьшать апертуру, чтобы освободить больше оперативной памяти для самих игр. По мере выхода новых версий драйверов, NVIDIA стала включать AGP-текстурирование в Direct3D (по нашим данным, с версии 3.68), а затем и в OpenGL (с версии 5.22). Тестирование проводилось на машине как с 64 Мбайт ОЗУ, так и со 128 Мбайт. Поэтому приведу таблицу со значениями параметра Graphics Aperture Size, при которых достигалась максимальная производительность, для обеих видеокарт:
64 Мбайт RAM | 128 Мбайт RAM | |
Detonator 2.08 | 16 | 16 |
Detonator 3.69 | 64 | 128 |
Detonator 3.77 | 64 | 128 |
Detonator 5.13 | 64 | 128 |
Detonator 5.16 | 64 | 128 |
Detonator 5.22 | 32 | 128 |
Detonator 5.30 | 32 | 128 |
Detonator 5.32 | 32 | 128 |
CREATIVE Graphics Blaster RIVA TNT2 Value
Наши исследования начнем с этой карты.
Quake2
Использовалось демо massive1.dm2. Для увеличения количества свободных ресурсов CPU звук в игре отключался. Для измерения скорости с консоли были выданы следующие команды:
S_initsound 0
Snd_restart
Timedemo 1
Disconnect
Map massive1.dm2
Демо прогонялось три раза, выбирался максимальный результат. Тесты проводились только в 32 bit цвете и при объеме ОЗУ 64 Мбайт, т.к. использование большего объема оперативной памяти практически не влияет на скорость и расстановку сил.
Результаты говорят сами за себя. Как видим, наибольшую скорость дает Detonator 2.08, причем во всех разрешениях. И это драйвер годичной давности! Остальные "участники" показали примерно одинаковые результаты.
Хочу сразу сказать, что Detonator 2.08 будет быстрее во всех старых играх, не использующих больших текстур, таких, как: Incoming, Quake, Kingpin, Sin и т.п. Вывод очевиден: если вы до сих пор играете в такие игры и для вас важна максимальная производительность, то этот драйвер для вас. Для более современных игр ситуация складывается не так однозначно.
QUAKE 3
Использовалось встроенное демо demo002.dm3 в двух режимах: fastest и high quality. Для увеличения количества свободных ресурсов CPU звук в игре отключался. Для измерения скорости с консоли были введены следующие команды:
S_initsound 0
Snd_restart
Timedemo 1
Demo demo002
Демо прогонялось три раза, выбирался максимальный результат. Тесты проводились как при 64, так и при 128 Мбайт ОЗУ.
Результаты при 64 Мбайт ОЗУ:
По результатам в режиме fastest разницу можно увидеть только в разрешении 640х480, где с небольшим отрывом победил Detonator 5.13. Самый низкий результат у Detonator 3.77. В целом, видно, что драйверы серии 5.хх в низком разрешении опережают своих предшественников, однако при его увеличении чуть отстают, но не очень существенно.
В режиме high quality разница стала и вовсе мизерной, но здесь чуть быстрее старые драйверы: 2.08, 3.69, 3.77.
При 128 Мбайт ОЗУ:
И здесь ситуация не изменилась: в низких разрешениях впереди Detonator серии 5.хх, в более высоких — 2.хх и 3.хх.
Unreal Tournament
Теперь посмотрим, как ведут себя разные Детонаторы при работе в Direct3D.
Использовалось демо wicked400.dem. При тестировании UT применялись следующие настройки:
World texture — medium;
Skin texture — medium;
Min desired framerate — 0;
Coronas — false;
Sound quality — low.
Для измерения скорости с консоли выполнялись следующие команды:
Timedemo 1
Demoplay wicked400
Демо прогонялось по три раза, выбирался максимальный результат. Тесты проводились как при 64, так и при 128 Мбайт ОЗУ.
Результаты при 64 Мбайт ОЗУ:
И опять Detonator 2.08 опередил остальных, особенно в режиме 32 bit. Можно также выделить версию 3.69 и, как ни странно, 5.30.
При 128 Мбайт ОЗУ:
И здесь драйвер версии 2.08 чуть впереди. Однако можно заметить, что при увеличении количества оперативной памяти результаты чуть-чуть снизились. Это вызвано тем, что в системе со 128 Мбайт одновременно использовались три модуля памяти: 2 по 32 Мбайта и 1 по 64 Мбайт. В результате происходила некоторая задержка на нахождение и чтение данных в ячейках памяти.
Большие текстуры
А теперь посмотрим, как работают драйверы с большими текстурами в игре Quake 3. Для этого ползунок детализации текстур был установлен в максимальное положение, фильтрация — bilinear, использовалось разрешение 640х480, объем ОЗУ — 128 Мбайт:
Посмотрите, насколько быстрее драйверы версий 5.22, 5.30 и 5.32! В чем же дело? А дело в том, что в этих версиях драйверов впервые включен режим DiME (то самое AGP-текстурирование, о котором я говорил выше). Но за счет чего достигается такая скорость при использовании больших текстур? Все просто — этот режим позволяет не только хранить текстуры в системном ОЗУ, но и осуществлять операции над ними вне видеопамяти! Проще говоря, текстуры, которым не хватило места в локальной памяти видеокарты, хранятся в системной памяти и подвергаются различным эффектам, например, alpha-blending, filtering, fogging, прямо в ОЗУ компьютера. Затем видеокарте передается только результат этих эффектов, что значительно быстрее, чем перекачивать сами текстуры в видеопамять и осуществлять операции над ними там. Это актуально для нашей TNT2 M64, т.к. пропускная способность ее видеопамяти очень низка. Хочется отметить, что режим DiME эффективен на картах с 16 Мбайт видеопамяти только при объеме ОЗУ не менее 128 Мбайт, потому что при меньшем объеме (в нашем случае — 64 Мбайт) скорость всех драйверов была низка (около 9-10 fps), у драйверов 5.22, 5.30 и 5.32 около 13-15 fps. В этом случае не хватает уже системного ОЗУ для хранения текстур. Выход: либо снижать детализацию текстур, либо использовать видеокарту с бОльшим объемом локальной памяти.
ASUS AGP V-3800 PRO
Теперь давайте посмотрим, как ведут себя драйверы на более мощной карточке, оснащенной (к тому же) бОльшим объемом локальной памяти (32 Мбайт). Я не буду приводить результаты тестов в игре Unreal Tournament, поскольку скорость Detonator`ов практически одинакова, за исключением опять небольшого опережения версии 2.08, к тому же разница между режимами 640х480х16bit и 1024х768х32bit не превышала 3 fps. Вот такая она, игра, Unreal Tournament :)
Лучше посмотрим на результаты в Quake 3. Также использовались два режима: fastest и high quality.
При 64 Мбайт ОЗУ:
Здесь в режиме fastest на ведущих ролях Detonator 5.13. Драйвер версии 3.77, как и в случае с TNT2 M64, оказался на последнем месте. Также можно заметить, что в высоких разрешениях чуть впереди оказываются драйверы серии 5.хх (при использовании TNT2 M64 ситуация была обратной: драйверы серии 3.хх опережали остальных), но разницу нельзя назвать существенной.
При 128 Мбайт ОЗУ:
Здесь видно, что при большем количестве ОЗУ Detonator 5.22 догоняет своих предшественников и кое-где даже опережает (режим fastest). Драйвер версии 3.77 и здесь был самым медленным. Но, опять же, разница слишком незначительна.
В режиме high quality при разрешении 1024х768 результаты вообще практически одинаковы.
Теперь давайте посмотрим на работу с большими текстурами в том же Quake 3. Использовалось как 64 Мбайт ОЗУ, так и 128 Мбайт.
В системе с 64 Мбайт ОЗУ лучшие результаты показали драйверы версий 5.22, 5.30 и 5.32, так как в них есть поддержка режима DiME, однако Detonator 5.22 показал чуть более лучший результат. Также хочу отметить тот факт, что в данном случае (64 Мбайт ОЗУ) большую роль играет скорость передачи данных с жесткого диска, т.к. происходит постоянный свопинг.
В системе со 128 Мбайт ОЗУ результаты практически одинаковы. Почему? Дает о себе знать бОльший объем локальной видеопамяти. В этом случае текстуры всего уровня умещаются в 32 Мбайтах видеопамяти на самой карточке. Разницу можно определить только лишь на еще больших разрешениях и специальных уровнях, напичканных гигантскими текстурами.
Совместимость
Теперь пара слов о совместимости тестируемых драйверов с другим программным обеспечением.
Проверялась совместимость с популярными играми: Need for speed: High Stakes, Need for speed: Porsche Unleashed, Quake, Kingpin, Biofreaks, GTA2, а также работа в офисных приложениях. В принципе серьезных замечаний нет, только вот с драйверами версий 5.22, 5.30 и 5.32 были замечены небольшие проблемы:
- в старых играх на OpenGL (Quake, Biofreaks) и некоторых скринсейверах, таких как серия Matrix, иногда были выпадения текстур на стенах при приближении к ним вплотную
- Biofreaks вообще отказывался работать в полном экране, только в окне, и при этом с ужасным качеством
- в Unreal Tournament при использовании биооружия были видны квадраты из под текстур биомассы (извините за небольшой каламбур:) ), но, скорее всего, это недостаток самой игры
Что касается офисных приложений, то мы не нашли каких-либо заметных отклонений.
Выводы
Что же можно порекомендовать пользователям? В данном случае хочу сказать, что все зависит от вашей системы и требований, которые вы предъявляете к играм:
- Если у вас достаточно системной памяти (128 и более), мощная видеокарта, и вы используете современные игровые программы, то есть смысл поставить драйверы версии 5.22. В этом случае будет приемлемая скорость в Direct3D и высокая скорость в OpenGL, что позволит играть с максимальной детализацией в больших разрешениях
- Если в наличии лишь слабая видеокарта уровня TNT2 M64 или Vanta, то, на мой взгляд, лучше все-таки оставить драйвер Detonator 2.08, который дает максимальную производительность. Можно также попробовать 3.69 — он ненамного отстает (в Direct3D). В OpenGL не все так однозначно (я имею в виду современные игры типа Quake 3): хотите играть с максимальной детализацией ставьте 5.22, с максимальной скоростью — 2.08 либо 5.13
- Хотя в нашем обзоре не участвовала видеокарта на чипе GeForce, все же владельцам акселераторов уровня GeForce посоветую устанавливать драйверы последних версий (5.22, 5.30 и 5.32), так как только в этих версиях включена более-менее приличная поддержка режима FSAA, а разницу в несколько fps на низких разрешениях вы вряд ли заметите, поскольку скорость этих видеокарт и так велика (да и "узким местом" в таких условиях станет процессор, а не видео)