Обзор современных 3D-видеостандартов

Павел Надворный

«Наркотик» для геймера

Зачем нужен 3D-акселератор

Выбор акселератора — это выбор API

Direct3D

OpenGL

Glide API

 

«Алхимия» проекта Fahrenheit

Легендарные 3D-игры. Quake 3 Arena против Unreal Tournament

«Наркотик» для геймера

Сегодня новые акселераторы трехмерной графики безбожно выворачивают карманы пользователей. Цена за «горячие» 3D-новинки приближается к 400 долл. — сумме, за которую можно приобрести «не слабый» системный блок персонального компьютера. Лидер 3D-прогресса, фирма nVIDIA, заявляет, что до тех пор, пока они продают все чипы, которые производят, цена на 3D-карты высшего уровня производительности будет расти, и даже 500 долл. — далеко не предел. 3D-карта — словно наркотик, требующий все больше денег за растущую потребность в удовольствии. Сегодня мало кто вспоминает, что 3D-графические ускорители для ПК — это относительно новый класс устройств, который сформировался на наших глазах около трех лет назад. Бывшие первоначально достоянием профессиональных рабочих станций класса Silicon Graphics (ныне SGI), акселераторы 3D-графики сегодня превратились в самую желанную вещь в персоналке геймера. С тех пор темпы роста мощности графических процессоров намного превосходят даже развитие центральных микропроцессоров. Современный 3D-акселератор представляет собой видеокарту (в виде неприметной печатной платы), на которой интегрированы один или несколько графических процессоров и 8-64 Мбайт собственной видеопамяти. По сути, 3D-акселератор — это «компьютер в компьютере». Задача 3D-акселератора — брать на себя почти всю нагрузку по геометрическому построению трехмерных изображений. Понятно, что речь идет преимущественно об «объемных» 3D-играх. Именно из-за них центральный процессор перестал справляться с возрастающей нагрузкой и был вынужден передать часть полномочий 3D-процессорам на специализированных акселераторах трехмерной графики. Для работы же с традиционными двухмерными приложениями класса Microsoft Office и Adobe Photoshop нужен мощный 2D-, а не 3D-акселератор.

В принципе 3D-ускорители существовали и десять лет назад, только стоили они до 15 тыс. долл. и были прерогативой профессиональных рабочих станций. Эти акселераторы применялись в системах автоматизированного проектирования и трехмерного моделирования. Выход первых 3D-карт на массовый рынок практически произошел в 1995 году, когда 2D-ускорители фактически исчерпали свои возможности по обработке сложной графики.

Подавляющее большинство тех, кто хотел бы приобрести компьютер или хотя бы его модернизировать, делают это не из-за острой нужды в таких офисных программах, как Microsoft Word или Excel. В основном upgrade производится, чтобы вкусить все прелести современных технологий, используемых в новейших играх. Ведь именно они являются «пожирателями» всех ресурсов компьютера, и это нормально, поскольку разработчики ориентируются на самые новые комплектующие, позволяющие создавать феноменальные эффекты. По сути, весь этот процесс является бесконечной «гонкой», в которой производители «железяк» постоянно убегают от разработчиков игровых новинок. На чем же еще, как не на играх, можно протестировать свою персоналку? Если ее конфигурация соответствует (или еще лучше — немного опережает) системные требования современных игр, то можно быть на 100% уверенным, что любые офисные или графические приложения не загонят ваш компьютер в тупик.

В начало В начало

Зачем нужен 3D-акселератор

На сегодняшний день функции современных видеоадаптеров довольно просты: они должны быстро выполнять работу с программами, моделирующими трехмерные сцены, а дело это вовсе не шуточное, поскольку при подобных действиях графический процессор должен обсчитать каждый кадр со скоростью несколько миллиардов элементарных операций в секунду. Для большей реалистичности смена игровых сцен, положения персонажей и их действий должна проходить при довольно высоких скоростях, что достигается быстрой быстрой сменой кадров — от 25 FPS (frame per second, кадр/с). А реалистичность трехмерного мира достигается путем использования 32-битных текстур с большим разрешением, которые накладываются на все присутствующие в сцене предметы.

Выполнение всех перечисленных заданий оборачивается громаднейшим объемом вычислений для аппаратного обеспечения ПК. И центральный процессор зачастую просто не в состоянии справиться с таким потоком данных, поскольку он попросту не оптимизирован для 3D-вычислений, да у него и без того забот хватает. И вот тут-то на сцену выходит 3D-акселератор, имеющий «в личном пользовании» специальный графический процессор и дополнительную память. Эти незаменимые компоненты и помогают ему справиться со всеми задачами, в той или иной степени касающимися 3D-графики.

В начало В начало

Выбор акселератора — это выбор API

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

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

В результате определенные игры могут «ускоряться» только при взаимодействии с конкретными моделями акселераторов. Это обусловлено несовместимостью драйверов некоторых плат с графическими библиотеками, которые использовались при создании отдельных игр. Согласитесь, что, купив модель 3D-ускорителя, драйверы которой не будут работать с библиотекой, используемой в вашей любимой игре, вы просто-напросто выбросите деньги на ветер!

Из наиболее популярных на сегодняшний день графических библиотек можно назвать Direct3D, OpenGL и небезызвестную в недавнем прошлом Glide API. Их достоинства и недостатки следует рассмотреть подробнее.

В начало В начало

Direct3D

Драйверы Direct3D, которые входят в состав библиотеки Microsoft DirectX, в настоящее время можно запросто назвать «стандартом всех стандартов» в игровой индустрии. Как и любая другая графическая библиотека такого класса, Direct3D представляет собой своего рода связующее звено между видеоакселератором и приложением. Набор DirectX входит в стандартный комплект поставки Windows 9х и Windows 2000, а также поставляется многими производителями программного и аппаратного обеспечения вместе с видеоадаптерами и дистрибутивами приложений.

На сегодняшний день в большом количестве игр используется Direct3D, так что графический ускоритель, драйверы которого несовместимы с этой библиотекой, практически не имеет шансов завоевать внимание значительного числа пользователей. Однако, по мнению многих экспертов, эта библиотека крайне неудобна и не предоставляет таких богатых возможностей, как альтернативное решение — OpenGL. Вместе с тем Microsoft постоянно совершенствует DirectX, добавляя в Direct3D новые функции и оптимизируя эту библиотеку для достижения максимальной производительности. И все-таки скорость генерации трехмерных изображений c помощью Direct3D, как и легкость программирования, уступает одному из ведущих стандартов 3D-библиотек — OpenGL (разработка Silicon Graphics).

Большим плюсом Direct3D является совместимость со всеми графическими акселераторами и с огромным количеством трехмерных игр. К достоинствам библиотеки относится и то, что, в отличие от OpenGL, ей не требуется практически никакая настройка. Еще одним преимуществом данной графической библиотеки является ее способность взаимодействовать не только с 3D-акселераторами, но и с центральным процессором. Это значит, что если в системе не обнаружен 3D-ускоритель, то библиотека «доверит» всю работу процессору, а трехмерный эффект, желаете вы этого или нет, будет все-таки рассчитан, хотя времени это займет гораздо больше.

В начало В начало

OpenGL

Графическая библиотека OpenGL была разработана компанией SGI, знаменитой своими высокопроизводительными графическими станциями. Приложения, работающие на платформе SGI, используют для генерации трехмерных сцен графическую библиотеку с незатейливым названием GL (Graphics Library). Несколько лет назад SGI открыла этот стандарт для свободного лицензирования, соответствующим образом изменив его название на OpenGL. OpenGL переводится как открытая графическая библиотека (Open Graphics Library). Программы, написанные с помощью OpenGL, можно с одинаковым успехом переносить практически на любые платформы — будь то графическая станция или суперкомпьютер. Если устройство поддерживает какую-то функцию, то она выполняется аппаратно, а если нет, то библиотека выполняет ее программно.

OpenGL — это очень мощная, легкая в использовании, хорошо отлаженная и проверенная графическая библиотека. Большое количество приложений (в основном графические пакеты для создания трехмерной графики) написано с использованием OpenGL. Еще один козырь этой библиотеки в том, что она поддерживается большим количеством платформ — начиная с обыкновенных IBM-совместимых персоналок и заканчивая RISC-машинами самого высокого класса. Благодаря этому приложения, использующие OpenGL, можно без особых усилий перенести практически на любую платформу.

Реально же Direct3D и OpenGL — библиотеки, предназначенные для одних и тех же целей. В настоящий момент существует достаточное количество игр, способных работать с OpenGL.

Пока же разработчики игр и производители видеоадаптеров постоянно выпускают разнообразные программные «заплатки» — небольшие (а иногда и довольно объемные) дополнения, призванные исправить ошибки в играх и обновить драйверы. Как уже говорилось, новые версии драйверов появляются постоянно, и поэтому не стоит отчаиваться, если то или иное приложение «не хочет» работать с драйверами и портом OpenGL, входящими в комплект поставки вашего акселератора. Скорее всего, у вас устаревшая версия драйвера видеоадаптера. Новые, «исправленные и дополненные» драйверы обычно можно загрузить с Web-сервера производителя.

В начало В начало

Glide API

Кроме OpenGL и Direct3D, существует (пока еще) Glide API, разработанная компанией 3Dfx, которая некогда являла собой образец рыночного успеха, а графический API Glide, продвигаемый этой компанией, был самым лучшим и самым распространенным. За акселераторами на базе решений 3dfx было не угнаться никому из конкурентов, и 50 fps в 800Ѕ600 при 16-битном цвете в Unreal казались мечтой и стоили бешеных денег. Это было давно. Очень давно. Сейчас же мы смотрим на этот своеобразный «культ вуду» лишь как на очередной эпизод компьютерной истории. Glide API предназначена для использования именно в игровых программах: некоторые функции, встроенные в эту библиотеку, поддерживаются только в нестандартных расширениях OpenGL. Поскольку Glide API была специально создана для наборов микросхем 3Dfx, она на 100% использовала все заложенные в них возможности и позволяет создавать необычайно реалистичные эффекты при достаточно высоком быстродействии. Glide API не является общепринятым стандартом — она не поддерживалась никакими другими компаниями, кроме самой 3Dfx. Проблемы с настройкой, присущие приложениям, использующим OpenGL, не обошли и Glide API — 3Dfx не удалось обеспечить полной совместимости старого набора микросхем. В данный момент среди библиотек трехмерной графики существует два реальных конкурента: Direct3D, созданная и продвигаемая корпорацией Microsoft, и OpenGL, разработанная компанией SGI. Microsoft, хотя и поддерживает OpenGL, всячески проталкивает свою Direct3D, предлагая ее в качестве идеального решения для разработки мультимедийных приложений. Разработчики игр относятся к API довольно противоречиво. Некоторые утверждают, что Open GL прекратит свое существование в недалеком будущем и на ее месте будет почивать на лаврах знаменитая Direct3D от Microsoft. Остальные разработчики утверждают, что Direct3D ну очень уж громоздкая, и пророчат ей скорую гибель. Но с выходом новой версии Direct3D 8.0 стандарту OpenGL придется весьма туго. Хочется верить, что OpenGL все-таки выживет, а место на кладбище игровых стандартов, где похоронен Glide от 3dfx, еще долго останется вакантным.

КомпьютерПресс 4'2001

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует