Исследование возможностей программной переделки
RADEON 9x00 в FireGL Z1/X1

31.02.2003


Показательны результаты теста №5, использующего каркасный рендеринг - в нём SoftFireGL X1 обгоняет SoftFireGL Z1 со значительным разрывом, составляющим 50%. Важно отметить, что помимо теста №5 каркасный рендеринг используется и в тесте №2, однако в нём SoftFireGL X1 и SoftFireGL Z1 демонстрируют абсолютно одинаковую производительность. Вероятнее всего, в непосредственном режиме рендеринга, используемом в данном тесте, скорость ограничивается центральным процессором.

Исследование возможностей программной переделки RADEON 9x00 в FireGL Z1/X1

Модуль Light-04, как и DRV-07, по праву считается одним из самых процессорозависимых в SPECViewPerf. Идентичные результаты SoftFireGL Z1 и SoftFireGL X1 являются тому подтверждением. Впрочем, как и в DRV-07, несмотря на сильную процессорозависимость, SoftFireGL уверенно обгоняют RADEON 9500 во всех тестах, что подтверждает нашу гипотезу о более агрессивно оптимизированном коде, ответственном за обработку геометрии.

Исследование возможностей программной переделки RADEON 9x00 в FireGL Z1/X1

Результаты MedMCAD-01 не позволяют нам сделать никаких интересных выводов. Разрыв в производительности приблизительно одинаков во всех тестах и составляет примерно 100%. Единственное, на чём нам хотелось бы акцентировать Ваше внимание, это на тестах №1 и №2, использующих каркасный рендеринг. Как Вы можете заметить, разблокирование восьми пиксельных конвейеров положительно сказалось на результатах тестов и позволило SoftFireGL X1 обогнать SoftFireGL Z1 с разрывом примерно в 5%. Впрочем, разницу между SoftFireGL Z1 и SoftFireGL X1 в тестах каркасного рендеринга мы уже могли наблюдать и в AWadvs-01 и DX-06.

Исследование возможностей программной переделки RADEON 9x00 в FireGL Z1/X1

Очень интересны результаты модуля визуализации ProCDRS-03. Как мы уже отмечали в наших предыдущих исследованиях, данный модуль визуализации ориентирован на оценку скорости работы с антиалиасингом линий и с двусторонним освещением. Антиалиасинг линий используется в первых двух тестах, и, как мы видим, SoftFireGL X1/Z1 справляются с ним более чем в три раза эффективнее, чем RADEON 9500. Более того, производительность при использовании антиалиасинга линий сильно зависит от скорости закраски, что подтверждается почти 35%-ым преимуществом SoftFireGL X1 над SoftFireGL Z1.

Остальные восемь тестов используют двустороннее освещение в совокупности с различными режимами текстурирования, поэтому их результат тоже достаточно сильно зависит от скорости закраски, что подтверждается повсеместным отставанием SoftFireGL Z1 от SoftFireGL X1.

Таким образом, мы закончили сравнение производительности SoftFireGL Z1/X1 и RADEON 9500 в профессиональном OpenGL бенчмарке SPECViewPerf 6.1.2. Даже на основании этих результатов уже сейчас можно сделать следующий вывод: установка драйверов для FireGL Z1/X1 на обыкновенную игровую карту с процессором R300 позволяет значительно поднять её производительность в CAD/DCC бенчмарках. Прирост может достигать нескольких сотен процентов, что может говорить только об оптимизированном под неигровые задачи коде, значительно эффективнее использующем аппаратные возможности чипа. Собственно, возникают и вполне резонные сомнения в том, что производительность SoftFireGL будет хоть чем-то отличаться от производительности настоящих профессиональных ускорителей. Как мы видим, скрытый резерв производительности у игровых карт есть, и он очень и очень высок. Зная привычку разработчиков экономить на дизайне новых чипов для рынка профессиональных ускорителей и учитывая нездоровую тенденцию использования одинаковых графических процессоров для карт абсолютно разных ценовых диапазонов, можно с достаточной степенью уверенности прогнозировать, что тот уровень производительности, которого мы достигли после установки "профессиональных" драйверов, - это и есть потолок настоящих карт FireGL Z1/X1. Впрочем, прогнозы - дело неблагодарное, поэтому мы пока придержим наши выводы и сделаем их только после того, как сравним SoftFireGL с настоящим профессиональным акселератором бок о бок. Пока же, дабы иметь полную картину разницы в производительности между RADEON 9500 и SoftFireGL Z1/X1, сравним их ещё в одном профессиональном OpenGL бенчмарке, являющемся прямым последователем SPECViewPerf 6.1.2. Речь, конечно же, идёт о SPECViewPerf 7.0:

Исследование возможностей программной переделки RADEON 9x00 в FireGL Z1/X1

Суммарный результат SPECViewPerf 7.0 не преподносит нам ничего нового в плане разницы в производительности. Так же, как и в SPECViewPerf 6.1.2, среднее превосходство SoftFireGL над RADEON 9500 составляет примерно 100%. Максимальный разрыв между SoftFireGL Z1 и SoftFireGL X1 наблюдается в модуле визуализации UGS-01, что также вполне объяснимо, поскольку результат данной группы тестов определяется производительностью в режиме антиалиасинга линий, а как мы уже выяснили ранее, SoftFireGL X1 справляется с этой функцией значительно эффективнее, чем SoftFireGL Z1 вследствие использования восьми пиксельный конвейеров. Отметим также, что на диаграммах Вы не увидите результатов группы тестов UGS-01 для RADEON 9500, поскольку данный тест стабильно зависал на нашей системе, работающей под управлением Catalyst 6200. При установке же "профессиональных" драйверов такой проблемы не наблюдалось.

Итак, давайте посмотрим на результаты входящих в SPECViewPerf 7.0 подтестов. Поскольку SPECViewPerf 7.0 является эволюционным развитием версии 6.1.2, некоторые модули "перекочевали" в него с незначительными изменениями из предыдущей версии, поэтому их результаты очень схожи с результатами, полученными ранее. Мы не будем останавливаться на них подробно и поговорим только о модулях, которые впервые появились в версии 7.0.

Исследование возможностей программной переделки RADEON 9x00 в FireGL Z1/X1

В 3DSMax-01 пиковое превосходство SoftFireGL Z1/X1 над RADEON 9500 также примерно двукратное. С ростом процессорозависимости тестов разрыв в производительности уменьшается и практически сходит на нет в самых тяжёлых для ускорителя тестах №5 и №9, использующих режим плоского затенения и освещения высокой сложности.

Интересны результаты тестов №13 и №14, в которых SoftFireGL Z1/X1 отстают от игрового ускорителя. Впрочем, учитывая тот факт, что мы используем абсолютно разные драйверы, оптимизированные под разные задачи, такой ситуации удивляться не приходится. Нечто похожее мы видели и с ускорителями NVIDIA, когда игровые акселераторы GeForce опережали Quadro в некоторых задачах.

Исследование возможностей программной переделки RADEON 9x00 в FireGL Z1/X1

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

Исследование возможностей программной переделки RADEON 9x00 в FireGL Z1/X1

Исследование возможностей программной переделки RADEON 9x00 в FireGL Z1/X1

Исследование возможностей программной переделки RADEON 9x00 в FireGL Z1/X1

Картина в ProE-01 схожа с тем, что мы видели ранее: доходящий в пике до двукратного разрыв в производительности между RADEON 9500 и SoftFireGL Z1/X1.

Напомним, что одна из используемых в ProE-01 модель, PTC WorldCar, предназначена для оценки производительности Pro/ENGINEER при работе с моделями высокой полигональной сложности. Скорость отображения данной модели оценивается в режиме solid-рендеринга, режиме удаления невидимых линий и режиме каркасного рендеринга (как с выключенным, так и со включенным антиалиасингом линий). В зависимости от режима визуализации, модель PTC WorldCar содержит от 3.9 до 5.9 миллионов вершин. Более того, в режимах solid-рендерига (тесты №1 - №3) суммарный объём пересылаемых графической подсистеме данных (геометрия, смены состояний OpenGL драйвера и т.д.) составляет более чем 100Мб в каждом кадре. Надо отметить, что такой гигантский объём и очень частая смена состояний загружают графическую подсистему гораздо сильнее, чем все остальные входящие в SPECViewPerf тесты, поэтому производительность данных тестов неминуемо должна ограничиваться скоростью центрального процессора и скоростью пересылки ускорителю таких гигантских объёмов данных. Тем не менее, именно в этих тестах мы наблюдаем более чем двукратное превосходство SoftFireGL над RADEON 9500, что позволяет сделать вывод о том, что с частой сменой состояний OpenGL рендерера "профессиональный" ICD справляется гораздо эффективнее, чем "игровой".

Исследование возможностей программной переделки RADEON 9x00 в FireGL Z1/X1

Как мы уже отмечали ранее, к сожалению, нам не удалось получить результаты RADEON 9500 в группе тестов UGS-01 по причине стабильного зависания системы при использовании Catalyst 6200. Профессиональные же драйверы для FireGL Z1/X1 лишены такого недостатка, что даёт нам возможность сравнить скорость SoftFireGL Z1 и SoftFireGL X1. Как и следовало ожидать, внушительная разница в производительности, достигающая почти пятидесяти процентов, заметна в тестах №5 - №8, использующих антиалиасинг линий.

Таким образом, мы закончили сравнение SoftFireGL Z1/X1 с RADEON 9500. На их основе, к выводам, которые мы уже сделали после анализа результатов SPECViewPerf 6.1.2, можно добавить и тот факт, что помимо значительного увеличения производительности, установка профессиональных драйверов позволяет избежать некоторых проблем совместимости с CAD/DCC приложениями, которых не лишены драйвера Catalyst. Собственно, качество драйверов и проблемы совместимости, возникающие в тех или иных приложениях, всегда были и, к сожалению, по-прежнему остаются наиболее слабым звеном продукции ATI. Бесспорно, профессиональные драйвера, основной акцент при тестировании и оптимизации которых делается именно на профессиональные приложения, позволяют сделать работу в CAD/DCC более комфортной и беспроблемной.

Тем не менее, мы пока не ответили на главный вопрос, ради которого мы и проводим сегодняшнее исследование: отличается ли чем-нибудь производительность SoftFireGL от производительности настоящего профессионального ускорителя, стоящего в несколько раз дороже? Для того чтобы это сделать, давайте посмотрим на сравнение производительности настоящего ускорителя FireGL X1 и SoftFireGL X1, в качестве которого будет выступать RADEON 9700PRO с установленным с помощью SoftFireGL профессиональным драйвером. Итак, конфигурация нашего тестового стенда представлена ниже:

Процессор

Dual AMD Athlon MP 2100+

Материнская плата

Dual MSI K7D на чипсете AMD 762

Оперативная память

1024 MB PC2100 DDR SDRAM

Видеокарта

ATI RADEON 9700PRO
ATI FireGL X1

Cтенд работал под управлением операционной системы Windows 2000 Professional SP3 и драйверов 1026 для FireGL Z1/X1. Как и ранее, для сравнения производительности использовались тестовые пакеты SPECViewPerf 6.1.2 и SPECViewPerf 7.0. Все тесты запускались при установленном на рабочем столе разрешении 1024x768x32 на стандартных настройках драйвера с отключенной вертикальной синхронизацией монитора. Давайте посмотрим, сможет ли SoftFireGL X1 поспорить с настоящим профессиональным ускорителем на равных:

Исследование возможностей программной переделки RADEON 9x00 в FireGL Z1/X1

Исследование возможностей программной переделки RADEON 9x00 в FireGL Z1/X1

Думаем, что наши комментарии тут излишни. Производительность SoftFireGL X1 полностью идентична производительности настоящего профессионального акселератора. Наверное, мы не откроем ни для кого Америку, если скажем что благодаря отладке производственного процесса, себестоимость выпуска рядового ускорителя на базе процессора R300 давно уже упала за планку $100. Это подтверждается и тем фактом, что под маркой RADEON 9500 по цене, близкой к $150, уже сейчас продаются полноценные ускорители с 256-битной шиной памяти, которые без проблем можно превратить в полноценный RADEON 9700PRO с помощью включенных в RivaTuner скриптов SoftR9x00. Абсолютно идентичные графические процессоры, только уже по удвоенной цене, продаются и под маркой RADEON 9700PRO. К сожалению, ничем не отличающиеся от них чипы, единственным косметическим отличием которых является наличие резистора, программирующего ревизию PCI устройства и мешающего установке "профессионального" драйвера, используются и на профессиональных платах FireGL X1, продающихся по совсем уж астрономическим ценам. Правомерен ли такой подход? Бесспорно, он очень понравится пользователям, желающим сэкономить свои средства на покупке 256-битного RADEON 9500 и превращении его в полноценный FireGL X1. Однако, попробуйте поставить себя на место пользователей, честно выложивших более $600 за настоящий FireGL X1. Понравится ли Вам, если Вы узнаете, что купили за такую цену фактически тот же самый RADEON 9500? Оставим такой подход на совести отдела маркетинга ATI. Отметим только, что до недавнего времени такой подход использовала и компания NVIDIA, однако с появлением процессоров Quadro4 ситуация немного изменилась к лучшему и перестала быть откровенно надувательской по отношению к потребителям. Мы не верим, что ATI не следили за этим и не знали о ситуации, складывающейся на рынке профессиональных ускорителей, выпускаемых NVIDIA. Что же, обычно люди учатся на чужих ошибках. Печально, что мы не можем применить эту фразу к компании ATI.

СПАСИБО:

  • Андрею Воробьёву за предоставление видеоадаптера RADEON 9500.
  • Патрику Кэн (Patrick Kan) за предоставление видеоадаптера RADEON 9700PRO, неоценимую помощь при отладке и бета-тестировании скриптов, а также за предоставление бенчмарков SoftFireGL X1 и FireGL X1 на Athlon MP платформе.



Николайчук Алексей a.k.a. Unwinder (AlexUnwinder@mail.ru)



Обсудить/дополнить в конференции

Линки по теме:

 

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

 1 

 2