SoftQuadro4

16.11.2002


Резюмируем результаты MedMCAD-01: помимо уже знакомой Вам фразы о лучшей оптимизации драйвера, можно сделать вывод, что некоторые аппаратные возможности графического процессора по-прежнему заблокированы на программном уровне.

SoftQuadro4 Review

SoftQuadro4 Review

Модуль ProCDRS-03 предназначен для моделирования и оценки производительности системы визуализации, используемой в профессиональном пакете CDRS от Parametric Technology Corporation. ProCDRS-03 включает в себя десять подтестов, каждый из которых соответствует одному из режимов визуализации этого графического пакета. Первые два теста используют каркасный рендеринг с антиалиасингом линий, поскольку именно этот режим включен в CDRS по умолчанию. Остальные тесты используют различные режимы затенения и текстурирования, а также двустороннее освещение.

Наряду с MedMCAD-01, этот тест также является объектом нашего пристального внимания, поскольку NVIDIA использовала и его результаты в официальных анонсах Quadro4, чтобы наглядно продемонстрировать преимущества новой линейки графических процессоров. Напомним, что согласно пресс-релизам NVIDIA, как антиалиасинг линий, так и двустороннее освещение являются отличительными особенностями Quadro4. Понадеемся, что хотя бы в ProCDRS-03 проявятся физические различия между GeForce4 и Quadro4, поскольку, как мы убедились ранее, преимущество в MedMCAD-01 обусловлено чисто программными трюками.

Вопреки общераспространённому мнению, основанному на относительной визуальной простоте используемой в тесте модели, результат ProCDRS-03 зависит от центрального процессора в гораздо меньшей степени, чем от видеоадаптера. Используемые в ProCDRS-03 антиалиасинг линий и двустороннее освещение являются очень и очень серьёзными испытаниями для графического процессора.

Отметим, что в предыдущих поколениях графических ускорителей от NVIDIA антиалиасинг линий был прерогативой профессиональных плат Quadro и Quadro2 Pro. Выход GeForce4 Ti 4x00 немного изменил ситуацию, и теперь антиалиасинг линий, сопоставимый по скорости c аппаратной реализацией Quadro2 Pro, доступен и на некоторых игровых платах на базе NV25. Да, да, мы не оговорились. Именно на некоторых. В силу необъяснимых причин, OpenGL драйвер не использует аппаратное ускорение антиалиасинга линий на чипах NV15 ревизий A1 и A2 и выполняет всю работу средствами центрального процессора. Скорее всего, в ревизии A3 в блоке антиалиасинга линий были исправлены какие-то ошибки, однако мы не исключаем и возможность чисто маркетингового ограничения. Чтобы понять природу этого ограничения, мы разработали специальный тестовый скрипт NV25AALines (включен в SoftQuadro4 script pack), корректирующий проверку ревизии чипа в теле драйвера и позволяющий либо включить, либо выключить антиалиасинг линий на чипах всех ревизий (возможность выключения предусмотрена для тех, кто захочет проверить производительность программной реализации антиалиасинга линий на чипах ревизии A3). К радости владельцев процессоров ревизии A2 отметим, что после использования скрипта NV25AALines производительность в тестах антиалиасинга линий полностью сравнялась с результатами чипов ревизии A3. При этом никакой нестабильности либо визуальных артефактов не наблюдалось. Заметим, что отсутствие проблем на одной системе не является гарантом того, что ревизия A2 действительно не содержит ошибок в блоке антиалиасинга линий, так что используйте скрипт NV25AALines на свой страх и риск. Мы предупреждаем Вас, что потенциально это может привести к нестабильности системы.

Однако сам факт того, что NVIDIA просто так дала владельцам игровых акселераторов GeForce 4 Ti4x00 возможность использования антиалиасинга линий, наводит на мысли, что на Quadro4 блок антиалиасинга действительно усовершенствован по сравнению с GeForce4. Нам очень сложно поверить в то, что компания решилась просто так взять и вычеркнуть одну строку из списка преимуществ Quadro4, поэтому можно почти со стопроцентной гарантией прогнозировать более высокую производительность в тестах антиалиасинга линий на настоящих Quadro4. Собственно, последующее сравнение SoftQuadro4 с реальной Quadro4 подтвердит эту гипотезу.

Ну а пока обратим взор на производительность GeForce4 и SoftQuadro4 в ProCDRS-03. Как мы видим, в подтестах №1 и №2, использующих антиалиасинг линий, чипы ревизии A2 остаются далеко позади почти с четырёхкратным разрывом в производительности. Ещё раз отметим, что скрипты NV25AALines позволяют снять это ограничение и поднять скорость работы с антиалиасингом линий до уровня чипов ревизии A3. Общий же результат ProCDRS-03 очень показателен и говорит сам за себя. Хотя SoftQuadro4 и даёт некоторый прирост по сравнению с GeForce4, составляющий в пике примерно 25% на обоих стендах, отставание максимальных результатов high-end стенда от low-end стенда абсолютно во всех подтестах является ярким свидетельством того, что ограничителем частоты кадров является видеоадаптер. Разница в производительности, сопоставимая с разницей в частотах между Ti4200 и Ti4600, подтверждает эту догадку. Тем не менее, результаты, полученные нами в ProCDRS-03 как на GeForce4, так и на SoftQuadro4, значительно ниже тех, что указанны в пресс-релизах настоящих Quadro4. Что же, это достаточно серьёзный повод, чтобы поверить в правдоподобность информации об отличиях в блоке антиалиасинга линий между GeForce4 и Quadro4. Однако не будем спешить с выводами и отложим этот разговор до момента сравнения SoftQuadro4 с настоящей Quadro4. Пока же сравним GeForce4 с SoftQuadro4 в ещё одном профессиональном OpenGL бенчмарке, являющемся прямым последователем SPECViewPerf 6.1.2. Речь, конечно же, идёт о SPECViewPerf 7.0:

SoftQuadro4 Review

SoftQuadro4 Review

Тестовый пакет SPECViewPerf 7.0 является эволюционным развитием SPECViewPerf 6.1.2. По заявлениям разработчиков, одной из целей выпуска новой версии было получение более сбалансированного синтетического бенчмарка с увеличенной нагрузкой на графический процессор, поскольку некоторые модули SPECViewPerf 6.1.2 слишком просты для многих современных акселераторов и частота кадров в них уже давно превышает частоту вертикальной развёртки монитора (вспомнить хотя бы AWadvs-04 с монструозными 300 кадрами в секунду). Как и его предшественник, SPECViewPerf 7.0 состоит из нескольких отдельных модулей, каждый из которых создан группой независимых разработчиков программного обеспечения и предназначен для оценки производительности в определённом профессиональном графическом пакете. Каждый модуль, в свою очередь, состоит из набора подтестов, каждый из которых моделирует один из возможных режимов работы данного графического пакета.

Модули DRV-08, DX-07 и Light-05 с незначительными изменениями "перекочевали" в SPECViewPerf 7.0 из SPECViewPerf 6.1.2, поэтому их результаты очень схожи с результатами, полученными в предыдущей версии. Мы не будем останавливаться на них подробно и детально рассмотрим только те модули, которые впервые появились в версии 7.0. Однако прежде, чем перейти к изучению подтестов, давайте посмотрим на итоговый результат SPECViewPerf 7.0.

Как и в предыдущей версии SPECViewPerf, на low-end стенде SoftQuadro4 также уверенно обходит GeForce4 во всех тестах. При этом, разрыв в 3DSMax-01 составляет 18%, в DRV-08 - 6%, в DX-07 - 55%, в Light-05 - 38%, в ProE-01 - 3% и в UGS-01 - 23%. На более мощном high-end стенде разрыв значительно увеличивается практически во всех тестах и достигает 76% в 3DSMax-01, 59% в DRV-08, 178% в DX-07, 91% в Light-05 и 35% в ProE-01. Исключением является лишь UGS-01, разрыв в котором не масштабируется вместе с ростом тактовой частоты центрального процессора и составляет на high-end стенде всего 5%. Давайте рассмотрим подтесты подробнее и попробуем выяснить, чем обусловлен прирост в каждом из них:

SoftQuadro4 Review

SoftQuadro4 Review

Модуль 3DSMax-01, как многие, наверное, уже поняли из названия, предназначен для оценки производительности OpenGL драйвера в профессиональном графическом пакете 3DStudio Max 3.1 от Discreet. Все три сцены, используемые в 3DSMax-01, импортированы из бенчмарка SPECapc 3DS Max 3.1. Чтобы получить наиболее близкую к реальности оценку производительности, охватывающую круг задач, выполняемых всеми категориями потенциальных пользователей 3DStudio Max, скорость рендеринга каждой сцены оценивается в двух различных режимах освещения. Режимы освещения высокой сложности используют от 5 до 7 точечных источников освещения и отражают работу high-end пользователя. Режимы освещения средней сложности используют два точечных источника и соответствуют более простой, но в то же время и наиболее часто используемой модели освещения. Кроме того, трассировка 3DStudio Max 3.1 позволила максимально приблизить данный модуль визуализации к реальности. Как и 3DStudio Max, данная группа тестов, использует непосредственный режим рендеринга, при этом все смены состояний рендерера практически полностью соответствуют тем, которые имеют место быть при работе в оригинальном приложении.

Итак, 3DSMax-01 состоит из 14 подтестов, оценивающих скорость отображения трёх импортированных из 3DStudio Max сцен в разных режимах рендеринга и в двух различных режимах освещения:

  • Сцена Juggler:
    • Тест №1
      затенение по методу Гуро, режим освещения средней сложности
    • Тест №2
      затенение по методу Гуро, режим освещения высокой сложности
    • Тест №3
      плоское затенение, режим освещения средней сложности
    • Тест №4
      плоское затенение, режим освещения высокой сложности
    • Тест №5
      режим каркасного рендеринга

  • Сцена Architecture:
    • Тест №6
      затенение по методу Гуро, режим освещения средней сложности
    • Тест №7
      затенение по методу Гуро, режим освещения высокой сложности
    • Тест №8
      плоское затенение, режим освещения средней сложности
    • Тест №9
      плоское затенение, режим освещения высокой сложности
    • Тест №10
      режим каркасного рендеринга

  • Cцена Landscape:
    • Тест №11
      затенение по методу Гуро, режим освещения средней сложности
    • Тест №12
      затенение по методу Гуро, режим освещения высокой сложности
    • Тест №13
      плоское затенение, режим освещения средней сложности
    • Тест №14
      плоское затенение, режим освещения высокой сложности

Картина в этой группе тестов ничем особым не выделяется: на low-end стенде SoftQuadro4 уверенно обгоняет GeForce4 практически во всех тестах с максимальным разрывом в 30%. На high-end стенде разница между SoftQuadro4 и GeForce4 заметно увеличивается до внушительных 150%, что говорит о достаточно сильной зависимости данного теста от частоты центрального процессора. Единственное, на чём нам хотелось бы акцентировать Ваше внимание, - это на необъяснимо низких результатах тестов, работающих в режиме плоского затенения (№3, №4, №8, №9, №13 и №14). Режим плоского затенения должен загружать графический процессор слабее, чем режим затенения по методу Гуро, поскольку в первом случае графический процессор рассчитывает общую освещённость для каждого треугольника, второй же требует расчёта освещённости для каждой вершины и последующей линейной интерполяции освещения для каждого пикселя треугольника. Но на практике, к нашему удивлению, всё обстоит с точностью до наоборот. Поэтому результаты тестов с плоским затенением, значительно отстающие от более сложных для GPU тестов с затенением по методу Гуро, выглядят, по меньшей мере, странно. Однако, изучение "внутренностей" скрипта 3DSMax-01 ставит всё на свои места. Первое, что бросается в глаза - это то, что для разных режимов затенения используются разные файлы с геометрическими данными и не используется специально предназначенная для включения режима плоского затенения команда - flat, трансформирующаяся в дальнейшем в вызов OpenGL функции glShadeModel. Смущает также и размер файла с геометрией для тестов с плоским затенением, превосходящий размер аналогичного файла для тестов с затенением по методу Гуро почти в два раза. Уже эти два факта наводят на мысли о том, что тесты плоского затенения в модуле 3DSMax-01 реализованы далеко не лучшим образом. Открытость кода SPECViewPerf, дающая возможность "пощупать" 3DSMax-01 из-под отладчика, подтверждает наши догадки - во всех входящих в эту группу подтестах режим плоского затенения реализован не на уровне OpenGL драйвера, а на уровне самой геометрии путём задания одинаковых векторов нормали для каждой вершины треугольника. К сожалению, такой подход исключает возможность какой-либо оптимизации геометрии (т.е. использования полосок или вееров треугольников), в результате чего объём геометрических данных может значительно увеличиться (об этом, собственно, красноречиво говорят размеры файлов с геометрией). Таким образом, вместо получения теста с упрощённой моделью затенения мы получаем лишь визуальную эмуляцию этого режима с абсолютно противоположной ситуацией в плане производительности - режим затенения остаётся прежним, а нагрузка на геометрический процессор только увеличивается за счет возросшего количества вершин. Однако не будем более вдаваться в подробности реализации и оставим правомерность такого подхода на совести разработчиков. Вполне возможно, что такая реализация обусловлена трассировкой вызовов OpenGL драйвера из 3DStudio MAX и само приложение ведёт себя точно так же (хотя хотелось бы, конечно, надеяться, что это не так, и данная неприятная особенность присуща только синтетическому тесту). Свою же задачу мы выполнили, и ситуация с производительностью в данной группе более, чем понята и объяснима логически.

Итак, результаты тестов №6 - №10 на low-end стенде показывают, что сцена Architecture является самой процессорозависимой в 3DSMax-01. Так, на наиболее геометрически сложных тестах №7 и №9, использующих режим плоского затенения и максимальное количество источников освещения, SoftQuadro4 и GeForce4 демонстрируют нам абсолютно одинаковую производительность, в то время как на high-end стенде SoftQuadro4 вырывается вперёд с более чем двукратным отрывом. Более того, производительность самого сложного теста данной сцены (им, само собой, является тест №9, использующий режим плоского затенения и режим освещения высокой сложности) явно ограничена возможностями графического процессора, поскольку в данном тесте лидирует low-end стенд, единственным преимуществом которого является видеоадаптер Ti4600, работающий на более высоких тактовых частотах. Впрочем, аналогичную картину можно наблюдать и в самом "тяжёлом" тесте сцены Juggler - в ней low-end стенд также вырывается вперёд за счет более мощного видеоадаптера. А вот на сцене Landscape в аналогичных условиях в лидеры вырывается уже high-end стенд. Вероятно, сравнительная простота геометрии данной сцены, не сильно загружающая графический процессор, позволяет центральному процессору сыграть основополагающую роль в результате теста.

Вывод, который можно сделать из анализа 3DSMax-01, практически ничем не отличается от того, о чём мы уже неоднократно говорили раньше - данный тест также демонстрирует преимущества, единственной причиной которых может служить альтернативная стратегия оптимизации драйвера.

SoftQuadro4 Review

SoftQuadro4 Review

Мы уже отмечали, что DRV-08 является прямым последователем модуля DRV-07, входящего в предыдущую версию SPECViewPerf. Неудивительно, что и результаты DRV-08 похожи на DRV-07, как братья-близнецы. Немногим более высокая производительность во всех подтестах DRV-08 по сравнению с DRV-07 объясняется, по-видимому, изменениями в ядре самого SPECViewPerf. Но характер прироста во всех подтестах как на low-end, так и на high-end стенде остаётся прежним, поэтому мы не станем уделять внимания этому тесту, так как выводы будут полностью аналогичными тому, что мы уже сказали ранее. Собственно, аналогично обстоит дело и со следующими двумя группами тестов. Модули DX-07 и Light-07 также перекочевали из SPECViewPerf 6.1.2 практически без изменений, поэтому особого интереса они не вызывают. Мы предлагаем Вам просто взглянуть на их результаты и перейти к более интересным новым тестам:

SoftQuadro4 Review

SoftQuadro4 Review

SoftQuadro4 Review

SoftQuadro4 Review


Переход на страницу:

 1 

 2 

 3 

 4 

 5