Анализ работы профессиональных 3D-акселераторов в 3ds max 5: ноябрь 2002 года


После довольно длительного перерыва мы продолжаем исследование профессиональных ускорителей. На этот раз у нас появилась возможность произвести наше исследование на двух-процессорной системе. Для этого я отобрал, на мой взгляд, самые мощные и перспективные профессиональные видеокарты, имеющиеся у нас в тестовой лаборатории, поэтому, да простят меня читатели за то, что я протестировал не все карты, что были у нас. В качестве инструментария я использовал 3ds max. С момента последнего тестирования в 3ds max прошло не так уж и много времени, а компания discreet успела выпустить новую версию своего продукта и таким образом в тестировании принимала участие уже пятая версия. Я не хочу здесь рассказывать о тех изменениях, что произошли с программой после четвертой версии, так как те, кто интересуется данным пакетом — они и сами знают, что поменялось и сами могут выделить ключевые моменты, а те, кто не интересуются — им, пожалуй, и не надо знать, что поменялось. :-) Да и целью статьи не является сравнение версий 3ds max и выявление недостатков или наоборот, достоинств, этой системы.

В новой версии 3ds max сама discreet рекомендует новые benchmark сцены. Я не стал их использовать, попробую объяснить почему. Во-первых, я естественно, посмотрел их, покрутил и повертел. Те сцены, что уже использовались нами, по большому счету, мало отличаются от новых. Да, внешне они несколько разные, но по сути своей такие же. Что еще не маловажно, для замены всем тестовых сцен, база с наработками и результатами старых тестирований больше не пригодилась бы, а так, оставляя старые сцены, мы можем сравнивать эволюцию как самой программы так и профессиональных ускорителей. В будущем, возможно уже не таком и далеком, я все же прибегну к новым сценам, но не для того, что бы полностью заменить наши тестовые сцены, а лишь для того чтобы их дополнить. Тем не менее, буду я использовать новые сцены или не буду, будет зависеть от многих факторов. На этом лирическое отступление от основной темы, думаю, стоит завершить и перейти непосредственно к процессу.

Тестовая платформа

Сама тестовая система выглядит довольно устрашающе. ;-) Это полноразмерная рабочая станция, после включения, обладает довольно солидными шумовыми характеристиками, которые появляются после подачи напряжения на вентиляторы. Впрочем, на работу самой системы шум влияет лишь косвенно, больше всего он влияет на оператора, но это так же лирика. А проза заключается в следующем:

  • Материнская плата: SuperMicro MBD-P4DCE-0+
  • Центральные процессоры: 2 x Intel Xeon 2,4GHz
  • Жесткий диск: Seagate Barracuda 4 ATA100 80GB
  • Оперативная память: 512MB RDRAM
  • Монитор: ViewSonic P 817-E

Я исследовал следующие карты из нашей лаборатории:

Помимо этих карт, я тестировал игровые карты GeForce 4 MX 440, GeForce 4 Ti 4600 и Radeon 9700 Pro.

Я использовал следующие версии драйверов:

  • Для карт на базе профессиональных чипов от NVIDIA использовалась версия драйвера 4103.
  • Для карт на базе игровых чипов от NVIDIA использовалась версия драйвера 4072.
  • Для 3Dlabs Wildcat VP870 была использована версия драйвера 3.01.0138. VP870 был протестирован режиме оптимизации геометрии.
  • Для Matrox Parhelia использовались драйвера 1.2.0.31.
  • Для RADEON 9700 использовались драйвера 6166.
  • Для карт на базе профессиональных чипов от ATI использовалась версия драйвера 3046.

В настройках самого драйвера включалась оптимизация под 3ds max, если такая опция была доступна. Ниже я приведу скриншоты некоторых настроек, как в драйверах самой карты, так и в настройках 3ds max. Сначала настройки самого 3ds max:



Настройки OpenGL драйвера


Настройки D3D драйвера

Настройки специальных драйверов: От ATI:



Настройки драйвера ATI Maximum

От NVIDIA:



Настройки драйвера NVIDIA Maxtreme

И теперь приведу настройки с драйверов Matrox Parhelia:



Настройки драйвера Parhelia

И настройки драйвера Wildcat VP870:



Настройки драйвера D3D для VP870



Настройки драйвера OpenGL для VP870



Настройки драйвера VP870 для оптимизации геометрии

Настройки остальных мы не приводим в силу того, что они достаточно просты, чтобы читатель что-либо попутал. Скажу лишь, что во всех случаях отключался режим вертикальной синхронизации и включалась оптимизация под 3ds max.

Здесь я должен сказать, что игровые карты, которые я использовал для тестирования наравне с профессиональными ускорителями представляют из себя как бы основу для профессиональных карт. Ведь ни для кого не секрет, что компании производители изначально делают игровой чип, после чего несколько дорабатывают его физически либо на уровне драйвера и получается профессиональная карта. Именно поэтому и были включены игровые ускорители.

Из программного обеспечения использовалась операционная система Windows XP professional, с установленным service pack 1 и всеми необходимыми драйверами. После чего, устанавливались непосредственно драйверы видеокарты и сам 3ds max.

Тестирование в 3ds max 5

Как я уже говорил, в этой статье я не рассматриваю отличие разных версий 3ds max. Поэтому, та методика, что была выработана нами для исследования работы профессиональных ускорителей под управлением 3ds max 4 вполне подходит и для исследования работы под управлением 3ds max 5.

Отличия от методики, вернее, не отличия, а небольшие отступления заключаются в следующем. Поскольку в прошлых материалах по тестированию мы уже выяснили, что работа в Direct 3D 3ds max сильно зависит от центрального процессора, я не тестировал долгое время работу карт под этим API. На этот раз, влияние центрального процессора несколько изменилось, хотя бы потому, что процессоров стало два. Оба процессора достаточно мощные, чтобы не сильно "портить" общую картину работы профессионального ускорителя. Поэтому в этом тестировании мы проведем подробную исследовательскую деятельность работы карт под управлением Direct 3D (в дальнейшем, для удобства, я буду называть данный режим просто D3D).

Безусловно, основным API при работе 3ds max является OpenGL (в дальнейшем просто OGL). Поэтому основные выводы по работе я буду делать, основываясь именно на результатах тестирования под этим API.

Так же, интерес представляет из себя тот API, что делают непосредственно производители для своих карт. Считается, что этот API должен полностью раскрывать возможности карт, так как он написан непосредственно под конкретную карту. Делать однозначные выводы по этому API для сравнения карт нельзя, так как разные карты используют разные режимы и обладают разными наборами расширений базовых функций. Но вывод о том, что данная карта в данном API и при данных условиях будет достаточно верный, поскольку именно в конкретных условиях может быть раскрыт весь потенциал карты.

Субъективные ощущения от работы

Как вы помните наши методики, одним из ключевых выводов был вывод самого оператора. То если его личные и весьма субъективные ощущения от работы. К сожалению, в данной статье я не смогу полностью поделиться всеми впечатлениями. Если вы спросите почему, то ответ будет больше похож на попытку оправдаться. Я попробую столь туманную ситуацию несколько прояснить.

Итак, тестовые сцены загружены и протестированы в реальных условиях. Я описываю свои ощущения и перехожу к качественному тестированию. Делаю скриншоты, пытаюсь выловить глюки, дабы предупредить пользователей. После чего перехожу к количественному тестированию и получают некие цифры. Вот именно после этого момента мои субъективные ощущения становятся моим врагом. :-) Цифры начинают все больше и больше влиять на разум. Ведь мои ощущения — это мои ощущения, а цифры, полученные в количественном тестировании сильно разнятся с моими ощущениями. Ну, для примера, могу сказать, что при работе в определенном API с определенной сценой я чувствую некий дискомфорт и мне кажется, что работа с данной сценой несколько приторможена чем-либо. Однако, после количественно тестирования я получаю на этой сцене порядка 300 FPS. Это много, если говорить мягко и это просто никак не может влиять на мои ощущения. Я не такой быстрый, чтобы уловить такую разницу при работе. Тем не менее, парадокс на лице или на лицо, кому как удобнее. Поэтому после прочтения статьи не обвиняйте меня в предвзятости. Я описываю лишь свои сугубо субъективные ощущения от работы.

Demo01 в OGL показала себя в работе весьма быстрой и удобной для операция масштабирования, вращения и перемещения как объектов, всей сцены, так и для камеры. Demo02 в OGL так же показала себя довольно быстрой. Чтобы не повторятся я скажу, что то ощущения притормаживания и резкости производимых действий на одном процессоре несколько сгладилось. Demo03 в OGL при работе заметно быстрее ежели чем на одном процессоре. Это реально ощущается.

Данные выводы справедливы для абсолютно всех исследованных мною карт, за исключением, Matrox Parhelia. Эта карта неприятно удивила тем, что даже простенькую demo01 при активных четырех окнах вьюпорта она ухитрялась перерисовывать рывками, хотя на менее слабых по ТТХ картах эта же сцена была весьма привлекательна.

Все те же сцены под управлением D3D опять же показались мне более удобными в работе, чем по сравнению с однопроцессорной системой. Но тут есть одно но. При работе в этом API кроме сцены demo01, все остальные сцены мне показались медленными по сравнению с OGL API. Таковой мне показалась работа абсолютно всех карт, без исключений. В принципе, это и понятно, так как D3D не есть "родной" API для 3ds max. Хотя его поддержка, имеется. И это тоже понятно, так как профессиональные ускорители изначально "затачиваются" под OGL и его различные расширения.

Под управлением собственных API (special driver или просто SD в дальнейшем) приятно удивило. Про demo01 сказать нечего, так как всё быстро и хорошо, а вот demo02 и demo03 ощутимо быстрее чем на однопроцессорной системе и ощутимо быстрее, чем на двухпроцессорной, но под управлением OGL. Что ж, это вполне закономерный результат, так как данный API "знает" все тонкости управляемой им карты и может их использовать в своих корыстных целях.

Я намеренно не стал говорить именно в этом разделе о тем ошибках, что возникали при работе. Намеренно не стал говорить о поддержке своего API теми или иными картами. Все это я расскажу в конце статьи в разделе выводов. Не стоит портить и вам впечатление перед количественными показателями. ;-) Тем более, что впереди у нас, по всей видимости, назревает небольшая революция.

Количественные показатели

В этом разделе, еще раз напомню, отсутствует моя субъективная оценка. Только голые факты и только они. Этот раздел мне наиболее симпатичен именно этим.

Как вы можете видеть несомненное лидерство за NVIDIA. Ее самые мощные и дорогие карты, как из профессионального рынка, так и из игрового на высоте. Что еще интересно отметить, так это "родственную связь" игровых и профессиональных ускорителей. Посмотрите, сильно ли отличаются GeForce 4 Ti 4600 от Quadro 900/980 и сильно ли отличаются GeForce 4 MX 440 от Quadro 4 550 ? Как ни крути, а "коала от эвкалипта не далеко падает" ;-) . Так же весьма интересно, что две карты от ATI: FireGL 8700 и FireGL 8800 показывают столь различные результаты. Почему это так интересно? А потому, что разница у этих карт физическая состоит лишь в том, что на FireGL8700 объем памяти урезан в половину по сравнению с FireGL8800 и лишь немного уменьшены частоты работы. Видимо в компании ATI всё это прекрасно осознали и цены, по которым сейчас можно найти профессиональную карту FireGL8800 или FireGL8700 только радуют. ;-) Еще, можно сказать, что карта от Matrox по результатам этого теста самая последняя.

Ситуация кардинальным образом не изменилась. Лидерство по-прежнему за флагманами от NVIDIA. А вот карты от ATI показали, на мой взгляд, наиболее правдоподобные результаты. Matrox последний по скорости. Пожалуй, больше акцентировать внимание читателя ни на чем не стоит, читатель и сам все видит.

А вот в этом тесте ситуация уже несколько меняется и в этом тесте более важными оказываются не скоростные характеристики, а качественные. Посмотрите, какие похожие результаты у карт NVIDIA. Это может говорить о том, что какие-то функции OpenGL не отточены, что и приводит к примерно одинаковым результатам на совершенно разных картах. Справедливости ради надо сказать, что эти же функции у карт от ATI еще менее отточены и ее карты замыкают турнирную таблицу. Parhelia от Matrox и Wildcat VP870 от 3Dlabs уверенно занимают середину таблицы.

А вот в этом тесте в лучшем свете показал себя VP870. Ну не зря же в настройках его драйвера есть выбор режима геометрии или текстурирования. Вполне резонно было предположить что в тесте на геометрию он будет первый, что и получилось. Остальные карты идут практически нос в нос, исключение составляет лишь Parhelia.

Геометрия бывает разная. Не вдаваясь в подробности, можно сказать, что достаточно перегрузить сцену большим количеством геометрических фигур и результаты кардинально изменятся. Комментировать эту сцену нечего и так все весьма наглядно видно.





Освещение лучше реализовано у карт от NVIDIA — вы и сами это видите. Впрочем, флагман от ATI без боя сдаваться не собирается и в тесте Light2 таки берет первое место. "Дикая кошка" VP 870 так же довольно хорошо справляется со своей работой. Непонятно только почему FireGL 8700 настолько хуже своего старшего брата. Объективных предпосылок к такому значительному снижению скорости вроде бы нет.

Это, пожалуй, единственный тест, где Parhelia показала достойные результаты. Они, конечно, уступают Quadro 4 900/980 и GeForce 4 Ti 4600, но уже гораздо лучше, чем предыдущие. Остальные данные вполне красноречиво говорят сами за себя.





Что касается работы с текстурами, то здесь у компании карт от компании NVIDIA (извините, за каламбур), конкурентов нет. Да, некоторые карты пытаются, но "терпение и труд всё перетрут". :-)

Сложный режим каркасного отображения показывает нам, что опять же NVIDIA Quadro 4 900 чуть-чуть лучше. Лишь чуть-чуть. В целом картина говорит о том, что для этого режима все карты подойдут для нормальной работы. Однозначного лидера выявить просто-напросто нельзя, да и не нужно это.

По результатам скоростного тестирования с работающим антиалиасингом в сторону карты от Matrox даже не хочется смотреть. Остальные же карты так же как и в предыдущем тесте идут "стеной".

Выводы по OpenGL API

В целом выводы по работе под этим API можно сделать следующие:

Новая линейка Quadro 4 980 остается не востребованной. Отличие от старой Quadro 900 состоит лишь в том, что первая умеет работать в режиме AGP 8x. Однако, при наличии 128MB памяти на борту самой карты этот режим остается не востребованным, так как нет сцен с таким большим объемом текстур. Причем, осмелюсь пойти дальше и предположить, что мало людей будут работать со всеми текстурами, даже если они и больше 128 MB. На стадии окончательно рендеринга — быть может, но для повседневной работы такое вряд ли может понадобиться. По скорости же новая Quadro 980 не сильно отличается от Quadro 900 и различие бывает как в положительную так и в отрицательную сторону, что больше похоже на погрешность при измерениях. "Прародитель" этих карт GeForce4 Ti 4600 так же показал весьма неплохие результаты, близкие к результатам Quadro 4 9x0 серии. Вполне закономерный факт. Схожесть результатов у GeForce 4 MX 440 и Quadro 4 550 так же вполне закономерна. Если говорить о результатах в целом по карте Matrox Parhelia, то можно придти к неутешительному выводу — данная карта не раскрывает и не использует даже половины своих возможностей. Резонный вопрос — а за то же тогда надо платить такие деньги? Если бы цена у данной карты была раза в два-три меньше — она бы смотрелась весьма привлекательно.

Wildcat VP870 показал себя вполне уверенным середнячком. В принципе, не хватает звезд с небес, но и не падает лицом в грязь. Поведение карт от ATI весьма непредсказуемо. Сложно это объяснить простыми словами, можно ограничится лишь домыслами. С точки зрения самого чипа — вроде все нормально. А вот с точки зрения поддержки чипа драйверами, на мой взгляд, не все так гладко и хорошо. Полные провалы в некоторых тестах и большая разница в некоторых результатах между весьма похожими картами говорят о том, что программистам ATI есть еще над чем работать в драйверах. Пока драйверы весьма далеки от совершенства. Здесь же я скажу, что приступая к тестированию на двухпроцессорной системе у нас были старые версии (30.36) на которых 3ds max 5 вел себя весьма неустойчиво и "глюкаво". Буквально в течении нескольких дней компания выложила новые драйвера, которые уже нормально стали работать с новой версией 3ds max. А это говорит о том, что присутствует "заточка" под конкретное приложение. Безусловно, это хорошо и очень хорошо, так как помогает более широко раскрыть потенциал карты. Однако, это плохо с другой стороны, так как пользователь при установке какого-либо нового продукты будет вынужден искать всё новые и новые версии драйвера.

Direct 3D

Как я уже говорил, мы не будем заострять внимание на каждом из тестов. Я просто приведу все диаграммы и потом попробую сделать выводы.



























Вот такая вот получается петрушка. Результаты-то на самом деле получились весьма и весьма интересные. Если не разбираться в тонкостях процесса, то с первого взгляда можно подумать, что произошла революция и всем срочным образом надо перебираться работать в D3D API. Но так ли это на самом деле, я попробую сейчас разобраться.

Начнем с карты, которая по техническим причинам не принимала участие в тестирования под управлением OpenGL API. Это новейшая игровая карта, самая быстрая на момент написания статьи, от ATI — Radeon 9700 Pro. Посмотрите на его результаты. Не правда ли, выглядит весьма заманчиво. Вместе с тем, первой ложкой дегтя будет то, что при работе в этом API такой высокой скорости, мягко говоря, не ощущается. Вообще. То есть, оно все работает, но не так быстро, как показывают цифры. Тут, весьма к слову будет сказано и про тот факт, что на многих тестах демосцены отображаются не корректно. Как и что вы сможете увидеть в галереи скриншотов, которая будет доступна чуть позже после выхода этой статьи. Хорошо, предположим, что драйвер отлажен и все на самом деле работало корректно, но почему тогда 3ds max на этой карте вообще не запустился под OGL? Значит, драйвер не отлажен, либо отлажен однобоко, то есть, только под D3D. Пока сложно с уверенностью сказать, что и как с этой картой.

Давайте теперь посмотрим на результаты "гадкого утенка", то есть, простите, "ложного солнца" Parhelia. На самом деле, только сейчас карта раскрыла свое название. Это действительно ложное солнце. Как по мановению волшебной палочки, в этом API карта преобразилась и фактически стала одной из первых по скорости. Оптимизация драйвера, вот в чем кроется причина. Драйвер под D3D API просто "вылизан". Но, и тут, в бочке меда есть ложка дегтя. D3D для профессиональной работы в 3ds max используется настолько редко…

ATI FireGL8800 также удивляет своими результатами. Посмотрите, какие заоблачные цифры на ряде тестов и какие низкие показатели в других. Это говорит лишь о том, что на самом деле драйвер не столько отлажен под некоторые тесты, сколько просто-напросто работает некорректно. Да, именно, некорректно. Этим и объясняется столь разные результаты. А про антиалиасинг под управлением D3D API вообще сложно сказать что-либо, так как нуль на диаграмме означает то, что антиалиасинг просто не работал. То есть, включай его, выключай, результат не меняется. Его нет. Справедливости ради, надо сказать, что антиалиасинг не только на этой карте не работал. Практически половина карт не работала в этом режиме под управлением D3D.

Интересен факт работы Wildcat VP870. Эта карта опять уверенно показала себя середнячком. Надежно и неторопливо она прошла все тесты.

Что касается карт от NVIDIA — то стабильности можно только порадоваться. Обратите внимание, что все результаты по этим картам соотносятся друг с другом именно так, как и должны соотносится по маркетинговым позициям и по классу карт. Пропорции соблюдены, а это говорит еще и о том, что драйвера D3D у NVIDIA не в пример лучше всех остальных.

Что еще интересно отметить, это то, что наше предположение о зависимости D3D API от процессора оказалось верным. Даже не прибегая к старым исследованиям на одном процессоре, можно отметить, что по сравнению с тестированием в OpenGL API скоростные показатели сильно больше. Второй процессор на самом деле прибавил прыти всем картам.

Специальный драйвер

В этом тестировании так же не имеет смысл рассматривать каждую сцену в отдельности, а я приведу все диаграммы, после чего и сделаем выводы.



























Вот этот режим и поможет нам наконец-то расставить все точки над i. Поможет потому, что именно под управлением специального драйвера и раскрывается весь потенциал карты. Отталкиваясь от этого и сделаем выводы. Ведь если предположить, что это не так — зачем тогда вообще выпускать какие-либо специальные драйвера? :-)

Итак, с первого же взгляда становится понятно, что линейка Quadro 900 и Quadro 980 лучшие. Они самые скоростные практически во всех тестах. Примерно так и ожидалось. Даже и сказать по этому поводу особо и нечего.

А вот то, что на втором месте окажется 3Dlabs со своим Wildcat VP 870 я, признаться честно, не ожидал. Что ж, программистам удалось создать драйвер на котором из этой "кошечки" получается выжать практически максимум, на что она способна. Я написал, практически, потому, что используемый драйвер был просто бетаверсии, а это дает повод надеяться, что к моменту официального релиза, драйвер еще доработают и карта будет показывать еще более высокие результаты. Что есть очень хорошо для конкуренции картам NVIDIA. ;-)

А что касается карт от ATI то сложно сказать, что-то позитивное по результатам. С одной стороны низкие результаты можно оправдать низкой ценой за эти карты, с другой стороны, разнообразные ошибки в других API подсказывают, что возможно и специальный драйвер не был как следует протестирован и не использует возможности карт на все 100 процентов. Однако призадуматься стоит. Ведь именно под управлением специального драйвера показывается весь потенциал карты, а полученные нами результаты красноречиво говорят о том, что потенциал-то на самом деле весьма и весьма не велик, по сравнению с другими картами. Впрочем, все вышесказанное больше относится к FireGL 8700, FireGL 8800 все же пытается идти вперед. Я не буду делать однозначных выводов — попробуйте сделать их сами.

Выражаем благодарность российскому представительству компании Intel за предоставленную тестовую платформу и процессоры.

Также выражаем благодарность компании Ниагара за предоставленную материнскую плату SuperMicro MBD-P4DCE-0+.




Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.