SoftQuadro4

16.11.2002


Итак, начнём первую фазу сравнения GeForce4 и SoftQuadro4 с бенчмарка SPECViewPerf 6.1.2. Несмотря на то, что версия 6.1.2 немного устарела и постепенно вытесняется более новой SPECViewPerf 7.0, её результаты всё ещё фигурируют в огромном количестве обзоров. К тому же и сами разработчики (в частности, NVIDIA) часто публикуют результаты некоторых тестов SPECViewPerf 6.1.2 при анонсе своих новых профессиональных ускорителей. Именно поэтому мы никак не могли обойти SPECViewPerf 6.1.2 стороной и ограничиться лишь версией 7.0.

Думаем, что пакет тестов SPECViewPerf не нуждается в особом представлении и хорошо знаком большинству наших читателей. Тем не менее, напомним, что этот программный продукт представляет собой портируемый OpenGL бенчмарк c открытым кодом, разработанный IBM и развиваемый группой SPECops. Пакет состоит из нескольких отдельных тестов (viewsets или модули визуализации в терминологии SPECViewPerf), каждый из которых создан группой независимых разработчиков программного обеспечения и предназначен для оценки производительности в определённом профессиональном графическом пакете. Каждый viewset, в свою очередь, состоит из набора подтестов, каждый из которых моделирует один из возможных режимов работы данного графического пакета.

Надо отметить, что, с нашей точки зрения, открытость кода данного бенчмарка - палка о двух концах. С одной стороны, открытость кода исключает заточку самого приложения под какие-либо конкретные графические ускорители, но, с другой стороны, именно она создаёт идеальную платформу для заточки OpenGL драйвера под этот бенчмарк. Однако не будем отходить от темы и углубляться в теорию заточки драйвера под определённые приложения, так как это тема отдельного разговора и, возможно, даже отдельной статьи. Посмотрим на результаты наших тестов:

SoftQuadro4 Review

SoftQuadro4 Review

Первые же результаты разносят в пух и прах все заявления о том, что игровые ускорители работают на пределе своих возможностей и увеличить их скорость в профессиональных приложениях невозможно. Возможно, и причём многократно. Если и не до планки реальных профессиональных плат Quadro4, то очень и очень близко к ней в большинстве тестов. Суммарные результаты SPECViewPerf 6.1.2 для обоих стендов демонстрируют внушительное превосходство SoftQuadro4 над GeForce4, особенно ярко проявляющееся на high-end стенде на базе Pentium 4. На этой системе разрыв в производительности между SoftQuadro4 и GeForce4 составляет 201(!!!)% в тесте AWadvs-04, 36% в тесте DRV-07, 103% в DX-06, 94% в Light-04, 143% в MedMCAD-01 и 8% в ProCDRS-03.

На low-end стенде SoftQuadro4 также уверенно обгоняет GeForce4 во всех тестах, правда не с таким чудовищным разрывом в производительности. В тесте AWadvs-04 он составляет 17%, в DRV-07 - 2%, в DX-06 - 34%, в Light-04 - 21%, в MedMCAD - 51% и в ProCDRS-03 - 10%. Обратите внимание на двукратный разрыв в тесте ProCDRS-03 как между GeForce4 Ti4600 ревизий A2 и A3, так и между порождёнными от них "клонами" Quadro4 900XGL. Два из десяти подтестов ProCDRS-03 замеряют скорость работы ускорителя при использовании антиалиасинга линий, а как мы говорили ранее, в силу каких-то необъяснимых причин драйвер не использует аппаратное ускорение данной функции на чипах ревизии A2 и выполняет её средствами центрального процессора. Однако в два раза больший суммарный результат не означает, что антиалиасинг линий, выполняемый чипами ревизии A3, всего в два раза быстрее программной реализации достаточно слабого процессора нашего low-end стенда. Результат каждого теста представляет собой среднее геометрическое из взвешенных результатов всех входящих в него подтестов, так что реальное не усредненное превосходство в несколько раз больше. Впрочем, не будем забегать вперёд. Далее мы подробно рассмотрим каждый тест в отдельности. Сразу проясним: чтобы не утяжелять графики практически идентичными результатами, далее мы не будем рассматривать скорость плат на чипах ревизии A2 во всех тестах, а остановимся только на тестах, использующих антиалиасинг линий.

Подытоживая суммарные результаты SPECViewPerf 6.1.2, уже сейчас можно сказать, что у чипов GeForce4 точно есть скрытый потенциал в виде либо неиспользованных ресурсов графического процессора, либо мастерски оптимизированного кода, используемого только на профессиональных платах. В пользу того, что значительная часть прироста обусловлена именно гораздо лучшей оптимизацией, говорит порядок прироста на high-end и low-end стендах, несоизмеримый с разностью в тактовой частоте. Практически со стопроцентной гарантией можно сказать, что такая картина может быть обусловлена только мастерской заточкой драйвера под SSE2. Впрочем, в умении NVIDIA искусно "жонглировать" оптимизацией и использовать её только тогда, когда это нужно, мы не сомневались. Тем не менее, давайте рассмотрим каждый входящий в пакет SPECViewPerf тест отдельно, чтобы понять, чем именно обусловлен прирост в каждом из них, и посмотрим, сохранилась ли тенденция программного блокирования некоторых аппаратных возможностей в ускорителях линейки Quadro4:

SoftQuadro4 Review

SoftQuadro4 Review

Итак, мы начинаем детальное изучение результатов SPECViewPerf 6.1.2 с модуля визуализации AWadvs-04, предназначенного для оценки производительности в ориентированном на работу с анимацией пакете Advanced Visualizer от Alias/Wavefront. AWadvs-04 состоит из одиннадцати подтестов, имитирующих работу Advanced Visualizer в том или ином режиме и использующих различные типы рендеринга, виды проецирования, методы затенения и текстурирования. Пожалуй, это единственный в SPECViewPerf 6.1.2 модуль визуализации, интенсивно использующий текстурирование и затенение (как плоское, так и по методу Гуро) в совокупности с достаточно простой геометрией (порядка 77000 вершин) практически во всех подтестах и, как следствие, наиболее подходящий для оценки производительности в DCC приложениях. Исключениями являются только подтесты №3 и №4, использующие каркасный рендеринг, однако их суммарный вес составляет меньше трети окончательного результата. Отметим также, что AWadvs-04 очень интересен и с другой точки зрения: этот модуль визуализации использует одну и ту же геометрию во всех своих подтестах. Практически все остальные входящие в SPECViewPerf 6.1.2 модули используют разные геометрические данные для подтестов, работающих в режиме каркасного и solid-рендеринга. Эта особенность и позволяет нам сделать на основе результатов очень интересные выводы, а именно определить, чем именно ограничена производительность каждого из подтестов.

Обратите внимание на результаты GeForce4 в подтестах №3 и №4, использующих каркасный рендеринг. Если на low-end стенде производительность находится примерно на одном уровне с остальными тестами и явно ограничивается центральным процессором, то на Pentium 4 тесты каркасного рендеринга остаются позади почти с двукратным отрывом и, более того, даже отстают от аналогичных тестов на low-end стенде. Производительность же остальных тестов масштабируется пропорционально увеличению тактовой частоты центрального процессора. Поскольку везде используется одна и та же геометрия, можно с достаточной степенью уверенности сказать, что производительность в подтестах №3 и №4 ограничена возможностями видеоадаптера или, если быть точнее, скоростью работы в режиме каркасного рендеринга. Этот факт подтверждается и тем, что, даже не смотря на более мощный центральный процессор, плата GeForce4 Ti4600 на low-end стенде опережает GeForce4 Ti4200 на high-end стенде, причём разрыв соизмерим с разницей в тактовых частотах между графическими процессорами (напомним, что Ti4200 работает на 250MHz, в то время как Ti4600 на 300MHz). Однако, если результаты SoftQuadro4 на low-end стенде подтверждают эту гипотезу и тесты каркасного рендеринга масштабируются значительно слабее остальных, то результаты, полученные на Pentium 4, просто ставят в замешательство: прирост в тестах каркасного рендеринга более, чем пятикратный! Единственное разумное объяснение, которое мы можем найти этому факту, - то, что при достаточно быстром центральном процессоре в некоторых случаях (возможно, этим самым некоторым случаем является достаточно простая геометрия данного теста) драйвер просто перекладывает часть работы с GPU на центральный процессор.

Подведём итог AWadvs-04: SoftQuadro4 уверенно опережает GeForce4 во всех тестах, при этом максимальный прирост составляет 24% на low-end стенде и 518% на high-end стенде. Отметим ещё раз, что такой несоизмеримый с разницей в тактовых частотах результат, с нашей точки зрения, может быть обусловлен только заточкой кода под SSE2, не используемой драйвером на игровых платах.

SoftQuadro4 Review

SoftQuadro4 Review

Модуль визуализации DRV-07 позволяет оценить производительность OpenGL драйвера в программном пакете DesignReview от Intergraph Corporation, предназначенном для дизайна и трёхмерного моделирования сложных заводских конструкций. DRV-07 включает в себя пять подтестов, каждый из которых соответствует одному из режимов визуализации в DesignReview. Отметим, что DRV-07 является одним из самых процессорозависимых тестов SPECViewPerf 6.1.2. Не будем останавливаться на этом подробнее, просто воспримем процессорозависимость DRV-07 как должное, поскольку внимание обозревателей акцентировалось на этом факте уже не один раз в многочисленных обзорах профессиональных графических ускорителей. Собственно, результаты наших тестов являются тому прямым подтверждением. На low-end стенде SoftQuadro обгоняет GeForce4 только в двух последних тестах с максимальным разрывом в 6%, в то время как на high-end стенде производительность возрастает и в первых трёх тестах, а максимальный разрыв увеличивается до 38%.

DRV-07, как и AWadvs-04, подтверждает, что для профессиональных плат Detonator использует гораздо лучше оптимизированный код.

SoftQuadro4 Review

SoftQuadro4 Review

Модуль DX-06 имитирует систему визуализации, используемую в программном пакете IBM Visualization Data Explorer, предназначенном для анализа и отображения научной информации. DX-06 состоит из десяти подтестов, в каждом из которых моделируются и визуализируются траектории частиц в векторном поле.

Читателям, не знакомым с нашим предыдущим исследованием, напомним, что в DX-06 при рендеринге используются как непосредственные вызовы команд OpenGL (так называемый непосредственный режим или immediate mode), так и списки команд (display lists в терминологии этого API). Списки используются в тестах №3, №5 и №10, остальные тесты работают в непосредственном режиме рендеринга. Картина, которую мы можем наблюдать на low-end стенде, очень схожа с тем, что мы видели ранее при программной переделке GeForce2 GTS в Quadro2 PRO: значительный прирост, достигающий внушительных 93%, наблюдается во всех подтестах, использующих списки команд. Прирост в остальных подтестах тоже ощутим, хотя и не так велик, и по сравнению с ними составляет "всего" порядка 30%. Собственно, и вывод из этого можно сделать такой же, как и ранее: "профессиональная" часть OpenGL ICD гораздо лучше оптимизирована под работу со списками команд, чем "игровая". А вот картина на high-end стенде несколько иная. На Pentium 4 прирост, наблюдаемый в использующих списки команд тестах, заметен гораздо слабее, чем на стенде на базе Athlon. Однако, внимательное сравнение результатов двух стендов в этих подтестах возвращает всё на свои места. Как и в случае с AWadvs-04, более низкий предельный результат на high-end стенде говорит о том, что скорость ограничена графическим процессором. Остальные же тесты, вероятно, напротив, зависят от скорости центрального процессора. Разрыв в производительности между GeForce4 и SoftQuadro4, увеличивающийся с ростом тактовой частоты центрального процессора почти до 140%, подтверждает эту гипотезу.

Интересен также результат теста №8, использующего двустороннее освещение, аппаратная поддержка которого является особенностью настоящих Quadro 4. Как мы видим, результаты SoftQuadro4 в данном подтесте практически ничем не отличаются от обычного GeForce 4. Более того, двустороннее освещение на обоих стендах, бесспорно, очень сильно загружает графический процессор, что подтверждается практически одинаковым результатом как на стенде на базе Athlon, так и на гораздо более мощном стенде на базе Pentium 4. Далее мы ещё поговорим о реализации двустороннего освещения на настоящих Quadro4 и рассмотрим одну интересную особенность OpenGL ICD драйвера, способную многократно увеличить производительность двустороннего освещения на SoftQuadro4. Однако не будем торопить события и забегать вперёд. Остановимся пока на следующей группе тестов:

SoftQuadro4 Review

SoftQuadro4 Review

Модуль Light-04 позволяет оценить производительность в пакете Lightscape от Discreet Logic, предназначенном для высококачественной визуализации и расчёта реалистичного освещения с помощью технологии radiosity. Как и DRV-07, этот модуль по праву считается одним из самых процессорозависимых в SPECViewPerf 6.1.2. Об этом же говорит и максимальная разница в производительности между GeForce4 и SoftQuadro, увеличивающаяся с 25% до 100% при переходе от low-end к high-end стенду. Сам по себе харрактер прироста особо ничем не примечателен и одинаков для обоих стендов. Вывод на его основе можно сделать только один: SoftQuadro4 обгоняет GeForce4 за счёт альтернативной стратегии оптимизации драйвера.

SoftQuadro4 Review

SoftQuadro4 Review

MedMCAD-01 - это единственный модуль, предоставленный не сторонними разработчиками программного обеспечения, а самими авторами SPECViewPerf. Группа тестов MedMCAD-01 предназначена для того, чтобы оценить производительность в графических пакетах, работающих с моделями средней полигональной сложности в непосредственном режиме рендеринга (например, Pro/ENGINEER™ от PTC, SolidWorks от SolidWorks Corporation и т.д). Все двенадцать тестов данной группы используют при рендеринге непосредственный режим и массивы вершин (vertex arrays).

MedMCAD-01 - один из двух модулей SPECViewPerf 6.1.2, результаты которого NVIDIA демонстрировала в официальных анонсах линейки Quadro4 в качестве доказательства мощи своих новых графических процессоров. Именно поэтому наше внимание к нему будет более чем пристальным. Сравнение производительности GeForce4 и SoftQuadro4 как на low-end, так и на high-end стенде, позволяет нам со стопроцентной достоверностью констатировать неутешительный (само собой, для NVIDIA) факт: компания по-прежнему играет в игры с программным блокированием некоторых аппаратных возможностей графического процессора в целях завышения разницы в производительности между игровыми и профессиональными платами. Взгляните на результаты тестов №3, №6 и №10. Чудовищный разрыв в производительности между GeForce4 и SoftQuadro4, достигающий 1771% (!!!) на Pentium 4 стенде, обусловлен тем, что все эти подтесты используют пользовательские отсекающие плоскости, программно заблокированные на игровых платах. Собственно, лучшего способа значительно поднять результаты в профессиональных тестах, чем отключить на игровых ускорителях аппаратную поддержку не используемых в играх функциональных возможностей, не найти. Так, по-видимому, посчитали и в NVIDIA, поэтому не случайно, что именно MedMCAD-01, демонстрирующий благодаря вышеупомянутому трюку наибольшую разницу в производительности между игровыми и профессиональными ускорителями, был выбран в качестве мерила мощи Quadro4. Что же, браво. Не совсем честный, но абсолютно разумный с точки зрения маркетинга ход.

Производительность остальных тестов, очевидно, ограничена центральным процессором. На low-end стенде разница между GeForce4 и SoftQuadro4, достигающая в пике 9%, заметна только в использующих каркасный рендеринг подтестах №1, №2 и №4 (отметим, что данные подтесты в отличие от остальных, используют упрощённую геометрию). На более мощном high-end стенде максимальный разрыв в этих тестах составляет уже 46%, при этом SoftQuadro4 вырывается вперёд и лидирует со значительным отрывом и в остальных тестах, использующих более сложные модели. Опять налицо мастерская оптимизация, используемая только на профессиональных платах.


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

 1 

 2 

 3 

 4 

 5