Опубликовано 19 мая 2004, 00:33

Профессиональная графика: первый взгляд

Зачем и кому нужны профессиональные ускорители 3D-графики, и почему они стоят так много? В этом обзоре мы разберемся со всеми этими вопросами.
Профессиональная графика: первый взгляд

Когда мы слышим названия таких компаний, как ATI и NVIDIA, у нас невольно возникают ассоциации с видеокартами RADEON или GeForce. Когда мы говорим слова «видеокарта» или «графический ускоритель», мы ассоциируем их с привычными нам игровыми ускорителями, которые сейчас установлены почти в любом компьютере. И лишь немногие помнят о таком классе устройств, как профессиональные графические ускорители. Некоторые, быть может, еще скажут что-то о решениях тех самых ATI и NVIDIA – FireGL и Quadro, - а некоторые - о таких компаниях, как 3DLabs или Matrox, специализирующихся исключительно на профессиональной графике. Итак, именно о них – профессиональных 3D-ускорителях – мы сегодня и поговорим.

В первую очередь, возникает резонный вопрос – «для каких целей и кому нужны профессиональные карты?». Почти всем знакомы программы 3D-моделирования - такие, как 3D Studio MAX, LiteWave, Softimage|XSI и некоторые другие. Многие из нас пробовали создавать различные модельки в этих программах, но есть и профессионалы, занимающиеся созданием высококлассных сцен и моделей – для них недостаточно обычного оборудования, и их требования к системе, разумеется, значительно выше.

Почти все 3D-модели, используемые в самых различных логотипах, рекламных роликах и кинофильмах, создаются на специальных рабочих станциях, оснащенных несколькими мощными процессорами и специализированными 3D-ускорителями. Яркий пример таких рабочих станций – машины, производимые компанией SGI (Silicon Graphics Inc), являющейся также создателем стандарта OpenGL. Эти рабочие станции оснащают особыми RISC-процессорами, частота которых, как правило, не достигает даже 1 ГГц; работают они под собственной средой, основанной на системе Unix. Для машин Sillicon Graphics написано специализированное программное обеспечение, поставляемое вместе с самими рабочими станциями. Стоимость таких машин составляет от 4-5 тысяч долларов и выше. Именно на машинах SGI создавались самые различные спецэффекты для голливудских фильмов. Но Silicon Graphics, как мы понимаем, – это удел узкого круга профессионалов - людей, наиболее требовательных к сложности создаваемых эффектов.

Архитектура компьютеров постоянно прогрессирует, и сейчас, в XXI веке, при помощи обычных персоналок возможно создание таких эффектов, которые ранее, лишь менее десятка лет назад, были доступны исключительно благодаря специализированным рабочим станциям. Нынешние 3D-ускорители архитектуры DirectX 9 позволяют создавать многие из таких эффектов в реальном времени. Но не будем забывать, что сейчас речь идет о профессиональных требованиях. В данной области тем же самым рабочим станциям SGI нет равных, но подавляющее большинство профессионалов используют ПК в силу невысокой, по сравнению со специализированными станциями, стоимости комплектующих, а также из-за большого количества написанного программного обеспечения и привычности интерфейса. Именно о профессиональных решениях для персоналок и пойдет все наше дальнейшее изложение.

О профессиональных ускорителях для ПК

Как мы уже говорили, помимо компаний, специализирующихся исключительно на профессиональной графике - таких, как 3Dlabs или Matrox, - созданием подобных видеокарт занимаются знакомые всем гиганты графической индустрии – канадская компания ATI Technologies и калифорнийская NVIDIA Corporation. Причем профессиональные решения на физическом уровне не отличаются от своих игровых аналогов – NVIDIA Quadro строится на базе тех же самых чипов, что и GeForce; соответственно, FireGL является аналогом RADEON. Такой подход весьма логичен - ведь современные графические процессоры полностью программируемы, и всеми функциями фактически управляют драйверы. Различия именно в железе минимальны – профессиональные платы, как правило, оснащают двумя цифровыми DVI-коннекторами вместо привычной нам комбинации DVI+D-Sub; рабочие частоты профессиональных плат немного отличаются от игровых аналогов - чаще всего в сторону уменьшения. Ведь скорость закраски для профессиональных плат – далеко не самый важный фактор. В остальном, это почти идентичные платы.

У многих возникла резонная мысль – а почему бы не заставить драйверы определять игровые платы как профессиональные, и тем самым задействовать профессиональные возможности на игровых картах за намного меньшие деньги. И способ был найден – форсирование чужого идентификатора устройства, в конечном итоге «обманывающее» систему и заставляющее ОС принимать одну карту за совершенно другую. 

Также в самом начале мы упомянули о компании 3DLabs, являющейся подразделением знакомой всем Creative. Итак, 3DLabs специализируется исключительно на профессиональных видеокартах. Текущая серия 3DLabs – WildCat - предоставляет специалисту весьма развитые возможности. Эти карты могут нести на борту 512 Мбайт памяти, оснащаются качественными RAMDAC и обладают возможностями вывода изображения на два монитора благодаря технологии DualHead (впрочем, сейчас этим удивить кого-нибудь трудно, учитывая, что даже самые дешевые решения ATI/NVIDIA - например, GeForce 4MX или даже RADEON 7000 - имеют возможности дуал-мониторинга). Разумеется, вывод изображения осуществляется посредством двух цифровых коннекторов DVI-I. Существуют как однопроцессорные, так и двухчиповые решения, различающиеся по своим возможностям и, конечно же, по конечной стоимости.

Одной из ключевых особенностей серии WildCat является поддержка так называемой виртуальной видеопамяти. Главная проблема, решить которую призвана виртуальная видеопамять – это нехватка памяти физической, в которую не всегда могут поместиться требуемые данные. С виртуальной видеопамятью больше не надо думать о том, каков, к примеру, размер кеша. Графический ускоритель будет использовать виртуальное адресное пространство, которое для ускорителей серии WildCat может достигать 16 Гбайт. Хотя, разумеется, ресурсы могут быстро закончиться, если вы пожелаете использовать всю доступную память.

К слову, подобное решение будет в скором времени введено и в архитектуру игровых ускорителей – произойдет это событие с выходом новейшего API от Microsoft, известного сейчас под кодовым именем DirectX Next, который сможет существенно изменить многие устоявшиеся понятия о 3D-графике, а возможно, повлияет и на профессиональные решения.

В чем разница?

Но сначала мы ответим на, пожалуй, главный возникающий вопрос -  «если архитектура современных игровых ускорителей столь продвинута, какие преимущества дает нам профессиональная карта по сравнению с игровой?». Для лучшего понимания этого вопроса следует сначала рассмотреть сам процесс 3D-моделирования и дальнейшей отрисовки смоделированного изображения или ролика – так называемого рендеринга (от англ. - rendering).

Дело в том, что изображение, возникающее перед глазами дизайнера во время моделирования, и получаемое конечное изображение разительно отличаются. В процессе работы дизайнер видит так называемое превью (англ. preview) – изображение объекта более низкого качества, чем получаемое в конечном итоге - после рендеринга. Когда дизайнер завершает свою работу, он производит непосредственно рендеринг – отрисовку полученной сцены в заданных разрешении и формате. Задача рендеринга почти полностью перекладывается на центральный процессор (или процессоры), зато генерацией превью занимается непосредственно графический ускоритель.

Для создания простых сцен с малым количеством полигонов (многоугольников) подойдут и самые обычные видеокарты (вплоть до бюджетных решений уровня GeForce FX 5200), но если предстоит работать со сложными комплексными сценами, имеющими несколько источников освещения и изобилующими текстурами, задача значительно усложняется. И тогда приходят «они» - профессиональные 3D-ускорители.

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

Скорость обработки геометрии

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

Для игровых же карт, где текстуры накладываются в реальном времени, а геометрия не столь сложна, основная ставка делается именно на скорость текстурирования, а также обработки вершин и пикселей.

Пограничный антиалиасинг

Всем знакома такая технология повышения качества изображения, как антиалиасинг (англ. antialiasing), суть которой заключается в сглаживании наклонных линий, где в силу физических особенностей образуется своеобразная лесенка. Чаще всего мы используем полноэкранное сглаживание FSAA (Full Screen AntiAliasing) – наиболее оптимальное решение для компьютерных игр, подавляющее большинство которых сейчас работает в полноэкранном режиме.

Но художникам, работающим в программах 3D-моделирования, важен не полноэкранный антиалиасинг, а пограничный, обрабатывающий грани конкретных объектов и тем самым значительно повышающий качество превью, являющееся, в свою очередь, одним из важнейших требований к профессиональным графическим ускорителям.

Софт

Как мы знаем, любое железо - ничто без соответствующего софта. К графическим ускорителям, тем более - полностью программируемым, эта аксиома применима в значительно большей степени, чем к любым другим компонентам. Итак, профессиональные карты – ничто без драйверов. А настройки драйверов у специализированных ускорителей, следует отметить, весьма разительно отличаются от привычных нам. В первую очередь, в настройках присутствует список оптимизаций под конкретные программы. После того как пользователь выбрал нужное приложение из списка, карта и драйверы начинают использовать непосредственно те возможности, которые нужны именно этому приложению, увеличивая, таким образом, продуктивность работы. Также мы можем управлять настройками DAC и устанавливать различные режимы полноэкранного сглаживания (антиалиасинга).

2D-графика

Все вышесказанное относится к профессиональным 3D-ускорителям. Но не будем забывать, что многие специалисты работают и с 2D-графикой. Таким людям нужно отличное качество изображения, высокие разрешения и развитые возможности вывода изображения на несколько мониторов. Данный сектор графических карт практически монопольно занимает компания Matrox, чьи видеокарты полностью удовлетворяют вышеперечисленным требованиям. Возможности по работе с 3D-графикой у этих плат весьма слабы, но, как мы уже сказали, у всего есть свое призвание. В частности, продукты Matrox нашли применение в медицине.

На финансовой бирже очень часто используется вывод изображения на несколько мониторов, причем порой для этого используется даже не одна, а две и более видеокарт. В данном сегменте наиболее популярны младшие решения от NVIDIA – Quadro DCC, управляемые посредством технологии nView, простой и наглядной.

А поиграть?

Но дизайнеры и художники – тоже люди, и многие из них наверняка любят поиграть. Как же обстоят дела у профессиональных графических ускорителей в 3D-играх? Скажем сразу – плохо. Лишь некоторые профессиональные карты обеспечивают совместимость с API DirectX 8.1, который стал объективным минимумом для всех современных игрушек. К примеру, 3Dlabs WildCat VP990 Pro поддерживает DX8, а многие другие профессиональные 3D-ускорители лишены поддержки этого API. Ведь для профессиональных нужд стандарт де-факто – OpenGL, и вводить поддержку игровых API в данных решениях нет смысла. Поэтому приходится выбирать – или отличное решение для специалиста, или игровая плата.

Своеобразным компромиссом выступают решения ATI и NVIDIA – здесь мы имеем поддержку API DirectX 8.1 и 9.0, а также неплохую скорость в играх. Ведь основной профиль этих компаний – именно игровые ускорители, а так как их профессиональные решения построены на базе тех же самых VPU/GPU, что и потребительские, проблем с играми не возникает. Но стоит заметить, что высокая скорость в играх и совместимость с игровыми API не являются обязательными требованиями для профессиональных ускорителей.

Вместо заключения

Итак, пора подводить черту под нашей немного пространной дискуссией. Мы немного поговорили о профессиональных графических ускорителях в целом и "разобрали" профессиональные платы для ПК в частности.

В первую очередь, следует сказать, что благодаря очень быстрой эволюции ПК привычные нам персоналки смогли занять место среди профессиональных дизайнеров, где ранее правили бал рабочие станции от SGI или Apple. Создание довольно сложных эффектов без проблем возможно и на ПК - таким образом, мы можем заниматься профессиональной графикой с минимальными денежными затратами, что, безусловно, не может не радовать.

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

После написанного Переделка игровых плат в профессиональные Любое устройство имеет свой собственный уникальный идентификатор – DeviceID, по которому система и определяет, что это за компонент, и какие для него нужны драйверы. В случае с профессиональными и игровыми платами от ATI и NVIDIA пакет драйверов одинаков как для обыкновенных, так и для профессиональных решений, а исходя из DeviceID, выбирается нужный драйвер, и активируются необходимые возможности. Чтобы «переделать» игровую плату в ее профессиональный аналог, необходимо форсировать чужой DeviceID. Для этого автором легендарной утилиты RivaTuner были созданы патч-скрипты к драйверам, которые устанавливаются непосредственно через RivaTuner.  Патч-скрипт особым образом модифицирует определенные файлы дистрибутива драйвера, вследствие чего форсируется чужой DeviceID. Устанавливая пропатченный драйвер, мы получаем профессиональные возможности на самых обычных игровых платах. Итак, что же нужно, чтобы пропатчить драйвер? В первую очередь, последняя версия утилиты RivaTuner, которую можно загрузить почти со всех сайтов, имеющих более или менее развитой файловый архив. Далее надо проверить, поддерживается ли версия используемого драйвера патч-скриптом RivaTuner. Как правило, если вы попытаетесь пропатчить неподдерживаемый драйвер, программа выдаст ошибку. Итак, сами патч-скрипты хранятся в подкаталоге PatchScripts, находящемся непосредственно в каталоге RivaTuner. В зависимости от того, установлена у вас видеокарта ATI или NVIDIA, в соответствующей папке вы выбираете патч-скрипт SoftFireGL для ATI или SoftQuadro для NVIDIA соответственно. В окне патч-скрипта нам следует выбрать нужный файл в дистрибутиве драйвера, пропатчить его, а затем установить драйвер из уже пропатченного дистрибутива. После произведения этих весьма несложных манипуляций мы получим новые, профессиональные возможности на обычной игровой плате совершенно бесплатно. Но помните, что модификация файлов драйвера запрещена лицензионным соглашением, и вся приведенная здесь информация дана исключительно в образовательных целях. Используйте приведенные сведения исключительно на свой страх и риск. Автор не несет ответственности за возможные проблемы, вызванные использованием модифицированного драйвера.