Над профессиональным применением графических ускорителей Nvidia
АрхивПожалуй, не ошибусь, если скажу, что видеокарты на базе процессоров Riva лидируют по объему продаж на рынке игровых 3D-ускорителей. Прямые конкуренты либо менее распространены, либо готовят что-то новое.
Для теста были выбраны два крайних представителя модельного ряда Nvidia: TNT2 M64 (Creative 3D Blaster Riva TNT2 M64, 32 Мбайт SDRAM) как дешевый вариант и GeForce 256 c 32 Мбайт DDR SDRAM (ASUS 6800) как самый совершенный на текущий момент. Однако последний повел себя некорректно, периодически подвешивая систему (NT 4.0), поэтому для выяснения причин был протестирована аналогичная видеокарта Leadtek WinFast GeForce 256 DDR, предоставленная фирмой M4-MultiCo.
В качестве тестовой программы выступал 3D Studio MAX Release 3.1 - самый распространенный и не требующий больших ресурсов трехмерный редактор. С ним давно поставляются тестовые сцены, на которых можно проверить производительность графической подсистемы компьютера в различных режимах отображения. Все тесты выглядят так: имеется сцена с определенными параметрами, одна или несколько виртуальных кинокамер; в качестве имитации работы с объектами циклически двигаются объекты и/или камера; мерой оценки служит среднее время прохождения одного цикла.
Сравнивалось быстродействие ускорителей в OpenGL, а за точку отсчета было взято время программной прорисовки (в случае непрофессиональных ускорителей это драйвер HEIDI), выполняемой на TNT2 и GeForce с примерно одинаковой скоростью. Для тестирования использовались самые качественные режимы отображения: максимальный для 3DS MAX размер текстур (512х512) и обработка затенения источников света. Все расширения OpenGL были включены. Для корректности сравнения в программном режиме была включена коррекция текстур (без нее они накладываются быстрее, но некорректно).
Конфигурация тестового компьютера: два Pentium III 450 МГц, 512 Мбайт памяти, шина 100 Гц. ОС - Windows NT 4.0 SP 6. Разрешение - 1024х768 при глубине цвета 32 бита.
Кстати, знаете ли вы, что шарик из демонстрации Bubble, поставляемой с многими картами на GeForce, можно "взорвать"? Взгляните на скриншоты.Видеокарта и драйверы тут ни при чем, возможность "взрыва" - недостаток математической модели шарика. Если кликать по нему мышкой, то рано или поздно он взорвется (найден даже алгоритм, как это сделать быстро; лучшие спортсмены нашего отдела укладывались в десять секунд). Кадры взяты из разных "взрывов" (способа снять последовательность скриншотов с одного "взрыва" не придумано - кнопки "пауза" в демонстрации нет).
Результаты
- При работе в сеточном режиме TNT2 M64 под OpenGL/Direct3D заметно отстает от программного драйвера HEIDI. GeForce в стандартном OpenGL идет с незначительным отрывом от HEIDI, а при включенных расширениях OpenGL (Double Planes и Triangle Strips) обгоняет его почти вдвое.
- При работах с закрашенными объектами без наложения текстур GeForce незначительно опережает HEIDI, а TNT2 отстает от последнего в 1,5-2 раза.
- В суммарном для перечисленных выше режимов тесте GeForce втрое быстрее HEIDI, который, в свою очередь, вдвое быстрее, чем TNT2.
- При работе с динамическим освещением вне конкуренции GeForce под OpenGL/Direct3D; скорость в HEIDI, а также TNT2 под OpenGL/Direct3D в 4-8 раз ниже.
- При работе с текстурами TNT2 в 10-20 раз, а GeForce - в 15-30 раз быстрее HEIDI. Но в тесте, использующем много (48) текстур, GeForce допускает неожиданный провал производительности почти до значения HEIDI. При снижении качества текстур на одну степень (256х256) он вновь быстрее TNT2 почти вдвое. (Видимо, часть памяти видеокарты отводится для данных геометрического сопроцессора, и при определенном объеме текстур в сцене складывается ситуация, когда именно этой памяти карте на GeForce не хватает для их размещения, что и приводит к падению производительности. На это у производителей есть ответ: видеокарты с 64 Мбайт локальной памяти.)
Выводы
реднее двукратное превосходство по сравнению с TNT2 можно и не приписывать геометрическому процессору (обещалось, что GeForce и без него будет примерно в два раза быстрее). По результатам тестов видно, что при просчетах освещенности в 3D Studio MAX геометрический сопроцессор GeForce 256 используется. Однако протестированные платы на GeForce постоянно вешали систему (NT) именно при попытках поменять что-либо в параметрах источника света, а иногда и просто так, из-за чего в OpenGL полноценная работа в MAX невозможна. В то же время Creative 3D Blaster TNT2 (разогнанный до максимума родными драйверами) работает на редкость устойчиво.
Такие плачевные для GeForce результаты требовали дальнейших исследований, и было проверено несколько версий NT-драйверов от производителей плат, а также Nvidia Detonator от 3.84 до 5.14. Оказалось, что к маю сего года работоспособных применительно к 3D Studio драйверов еще не написано даже в Nvidia (а вот Unreal Tournament под OpenGL чувствовал себя великолепно). Пришлось проверить видеокарты и под Win98 SE. На компьютере PIII 500 со 128 Мбайт памяти результаты тестов практически повторились, но вот повесить его с помощью 3DS MAX за три дня не удалось ни разу.
GeForce 256 - первый игровой видеопроцессор, который можно считать профессиональным, так как, помимо значительного преимущества в работе с текстурами и светом, платы на его основе превзошли HEIDI и в "сугубо профессиональном" сеточном режиме. Однако его изначальная рыночная ориентация сыграла с производителями драйверов злую шутку, и в результате сейчас полностью работоспособны лишь "игровые" (Win9x) драйверы. Поэтому тем приверженцам чипов от Nvidia, кто работает в Windows NT, придется либо ждать полноценных драйверов OpenGL для GeForce, либо пользоваться TNT2 и в любом случае завидовать пользователям замечательной ОС под названием Win9x, для которой драйверы пишутся и быстрее, и лучше.