Профессиональные OpenGL-акселераторы
3D это не только игры
Apple
Matrox Millennium G550

Против обыкновения в этой статье мы решили отказаться от стандартного способа изложения: цифры, спецификации, результаты тестов... Практика показывает, что он оправдывает себя только в том случае, если предмет исследования у всех на слуху и можно предполагать наличие необходимого начального багажа знаний у большинства читателей. Поэтому для специалистов, вероятнее всего, этот материал будет малоинтересным. Скорее, он написан для тех, у кого "профессиональный OpenGL" -- это "что-то, связанное с 3D Studio Max и видеокартами 3Dlabs". Во-первых, это не совсем так, а во-вторых... рекомендуем все же прочесть статью. Поверьте, это довольно интересная область применения компьютерного "железа", и даже если полученные начальные знания останутся невостребованными в повседневной жизни, лишними они все равно не будут.

Что такое OpenGL

Прежде чем переходить к описанию и причинам появления API OpenGL, давайте прольем немного света на само понятие "API". Итак, API (Application Program Interface) -- интерфейс прикладных программ. Некий стандартизованный разработчиком набор функций, предназначенный для выполнения определенных задач в заданной предметной области. Если говорить о нашей теме, любой графический API (к которым относится и OpenGL) -- это набор функций для манипулирования графическими примитивами и эффектами. Для тех, кто когда-нибудь изучал программирование на языках Pascal или C (C++), можно провести аналогию со стандартным набором библиотечных процедур (функций). В нашем случае в роли такой библиотеки выступает драйвер OpenGL ICD (Installable Client Driver), и любая программа может использовать описанные в нем процедуры для вывода графических примитивов на экран.

Привлекательность любого 3D API для разработчика состоит в том, что создание драйвера, который преобразует вызовы функций API в коды "графического ассемблера" конкретного чипа, является исключительной заботой его авторов. Программист просто использует вызовы OpenGL, не заботясь о том, каким именно образом они приведут к формированию "картинки", -- этим занимается уже сам драйвер видеокарты. Следовательно, можно сосредоточиться на основной задаче (к примеру, создании программы для 3D-моделирования), используя готовый набор стандартных процедур для вывода изображения на экран.

Появление API OpenGL, как это ни покажется странным сегодняшнему поколению игроков, практически не связано с их фаворитом -- компанией id Software и ее детищем -- Quake. Перед его разработчиками стояли совершенно другие и отнюдь не "игрушечные" вопросы. Основной целью создания OpenGL была необходимость дать в руки людям, занимающимся написанием программ, удобный инструмент для решения их задач.

Именно эти цели преследовала компания Silicon Graphics, когда приступала к разработке этого стандарта. И лишь потом авторы игр, заметив исключительную эффективность OpenGL при моделировании 3D-объектов, взяли его на вооружение.

Профессиональный OpenGL vs. игровой

Прежде всего следует однозначно разграничить так называемый "игровой" OpenGL и используемый в профессиональных приложениях. Казалось бы, само понятие API не предусматривает разделения по области применения, однако, как это часто бывает, реальность вносит определенные коррективы. Фактически "игрового OpenGL" действительно не существует. Употребляя этот термин, мы имеем в виду просто-напросто некую урезанную версию этого API, реализованную в большинстве "пользовательских" 3D-акселераторов. Это означает, что основное внимание уделяется функциям OpenGL, использующимся в играх. Прочие функции, поддержкой которых "интересуются" только профессиональные приложения, либо не реализуются вовсе (к чести производителей стоит сказать, что такой подход в последнее время все более редок), либо реализуются, что называется, "спустя рукава" -- зачастую не совсем корректно или не лучшим с точки зрения быстродействия и/или качества способом.

К слову, недавнее исследование производительности некоторых 3D-акселераторов в тестовом пакете SPEC ViewPerf очень хорошо доказало эту истину. Из тех карт, которые принимали участие в тестировании, только профессиональный OpenGL-акселератор от 3Dlabs успешно прошел все подтесты (даже несмотря на то что в некоторых из них показал меньшую скорость).

Качество или скорость?

Привыкшие к полному господству fps (frames per second -- кадры в секунду) игроки, как правило, не слишком сильно интересуются качеством рендеринга каждого отдельного кадра. И это вполне объяснимо: в современных 3D-шутерах, которые составляют большинство наиболее сильно "нагружающих" 3D-акселераторы приложений, попросту нет времени для разглядывания красот интерьеров, облачения и лиц соперников. Тактика этих игр проста: выигрывает тот, кто быстрее, тот, у кого лучше реакция, тот, у кого рефлексы доведены до автоматизма. Тут уж не до восхищения графикой. Поэтому как разработчики, так и игроки вполне могут себе позволить пожертвовать качеством рендеринга, детализацией персонажей и их окружения.

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

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

Fillrate vs. Polygons

Также заслуживает внимания одно весьма существенное различие между игровыми и профессиональными OpenGL-приложениями, состоящее в разных требованиях к скорости акселератора относительно конкретных аспектов 3D-рендеринга. Как правило, в играх повышенное внимание уделяется так называемой "реалистичности" изображения, что в конечном итоге в условиях быстрой смены кадров сводится к их большей "цветастости", т. е. текстурной наполненности. Действительно, если невозможно оценить (за счет динамичности игры) каждую отдельную деталь интерьера или фигуры противника, можно либо отрисовать более "реально" ту часть, которая находится в данный момент времени ближе всего к игроку (к примеру, лицо), либо восполнить недостаток реалистичности более насыщенной, "мультипликационной" гаммой текстур (Quake III).

Как первый, так и второй способы предъявляют повышенные требования к одной и той же функции 3D-акселератора -- fillrate -- скорости наложения текстур. Это означает, что внешняя "красивость" модели однозначно приносится в жертву фактической ее четкости и прорисовке мелких, незаметных в игровых условиях деталей. Однако всегда ли и для всех ли приложений этот параметр является основополагающим? Нет, не всегда. Возьмем, к примеру, ситуацию, когда на месте игрока оказывается инженер, моделирующий фюзеляж истребителя. Так ли ему важно, текстурой какого качества будет обтянута его окончательная модель? Нет, качество текстур здесь отступает на второй план. Ему гораздо важнее получить точную копию фюзеляжа, т. е. модель, описанную как можно большим количеством полигонов.

Поэтому в профессиональном OpenGL количество графических примитивов (полигонов), которыми описывается модель, зачастую намного больше, размер же накладываемых текстур -- меньше. Учитывая то, что за оба действия в 3D-акселераторах (даже в игровых) отвечают совершенно разные аппаратные части чипа, неудивительна часто видимая "беспомощность" игровых чипов в профессиональном OpenGL, и наоборот. К слову: недаром производители "серьезных" OpenGL-акселераторов так любят разделять процессор растеризации (отвечающий именно за текстурную составляющую скорости рендеринга) и геометрический процессор, занимающийся исключительно обсчетом полигональной графики (так называемого "каркаса", или wireframe-графики).

Оконный рендеринг


Как ни странно, очень многие игровые 3D-акселераторы испытывают довольно большие трудности при выполнении такой элементарной операции, как рендеринг трехмерной сцены с использованием OpenGL API в окне. Опять же это связано именно с игровой направленностью этих карт и соответствующей оптимизацией драйверов. Действительно, вряд ли кто-то предпочтет для 3D-шутера оконный режим, так как сама специфика подобной игры предусматривает полное сосредоточение именно на процессе ее прохождения и ни на чем более, поэтому все "отвлекающие" моменты начинают играть роль лишнего раздражителя.

Таким образом, в драйверах игровых акселераторов наибольшее внимание уделяется именно полноэкранному режиму. Основное его отличие от оконного состоит в том, что размер экрана (количество точек по оси X и по оси Y) однозначно вычисляем исходя из текущего разрешения, а вот для оконного режима это соотношение может меняться. Учитывая то, что в профессиональных пакетах 3D-моделирования, как правило, окна масштабируемы, кроме того, каждое из окон (при условии использования нескольких проекций) может масштабироваться отлично от остальных, это также не облегчает работу драйверу. В результате на многих игровых акселераторах при использовании OpenGL-рендеринга в оконном режиме наблюдаются явно заметные артефакты в виде чрезмерно утолщенных линий, неправильного масштаба составных частей модели и т. п.

Многопроцессорная оптимизация

Давайте зададимся вопросом: "А много ли игр действительно поддерживают многопроцессорность?". На сегодняшний день только Quake III обладает способностью частично задействовать второй процессор системы. И то, поддержка эта несколько "странная": при использовании низких разрешений она действительно дает прирост производительности, а при использовании высоких ситуация меняется "с точностью до наоборот" -- включение SMP не только не повышает производительность, а наоборот, уменьшает ее. Объяснение этому довольно простое -- еще нет игр, полностью использующих преимущества SMP. Да их и не может появиться в ближайшем обозримом будущем по той простой причине, что слишком уж дорога мультипроцессорная платформа даже для серьезного геймера.

Существует распространенное заблуждение, что запуск приложения под управлением ОС, поддерживающей SMP, автоматически обеспечивает его задействование самим приложением. Однако это в корне неверно. Для того чтобы обеспечить полноценное использование этой технологии, необходимым условием является ее поддержка как со стороны ОС, так и со стороны программы, так называемая "мультипоточность" кода (multi-threads). Игры на сегодняшний день не относятся к классу приложений, использующих SMP.

А как обстоит дело в стане профессиональных OpenGL-приложений? Здесь ситуация противоположная -- как приложения, так и драйверы видеокарт (мы даже не будем упоминать ОС, так как запуск этих приложений на ОС, не поддерживающих SMP, выглядит, по меньшей мере, странно) обеспечивают полноценную поддержку мультипроцессорности, так что пользователи смогут ощутить в полной мере преимущества от применения полного спектра ПО и hardware, использующего SMP. Довольно типичный пример -- драйверы Power Threads OpenGL ICD от 3Dlabs, "официально" оптимизированные под задействование до восьми CPU, и программа 3D Studio Max, ускорение рендеринга в которой при переходе от одного CPU к двум достигает 1,7 раза!

OpenGL для CAD/CAM

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

И на самом деле в данном конкретном случае получаемые результаты вполне корректны. Однако следует четко понимать, что, несмотря на очевидный факт (результаты тестирования производительности), сам по себе пакет 3D Studio MAX -- довольно узкоспециализированное ПО, ориентированное на определенный круг задач. Как правило, это рендеринг рекламных роликов и других динамичных сцен, так или иначе связанных с моделированием реальных ситуаций, что обусловливает достаточно высокую степень детализации текстур, сложное освещение и другие аспекты, которые, в принципе, уже довольно часто используются даже в игровых "движках" последнего поколения. Не хочется дополнительно цитировать эту же статью, поэтому интересующихся различными аспектами применения профессиональных OpenGL-акселераторов мы адресуем к одному из предыдущих разделов -- "Fillrate vs. Polygons", в котором достаточно подробно описано различие между спецификой CAD/CAM-приложений и ПО, предназначенного для моделирования "реалистичного" окружения. Обе эти сферы применения OpenGL-акселераторов отличаются, в том числе и по "предпочтениям" в части скорости реализации различных функций, поэтому именно исходя из конкретных потребностей следует выбирать 3D-акселератор для своей системы.

Профессиональные OpenGL-ускорители

3Dlabs
Весь ассортимент ускорителей, выпускаемый этой фирмой, можно разделить на три группы.

1. Недорогие ускорители начального уровня, ориентированные на не слишком требовательных пользователей, для которых большое значение при выборе карты имеет цена, но в то же время необходима полная поддержка стандарта OpenGL. Сюда входят карты серии Oxygen VX.

2. Ускорители среднего класса, рассчитанные на пользователя, который готов платить за скорость. В этот ряд входят высокопроизводительные карты серии Oxygen GVX.

3. И наконец, настоящий high-end -- высочайшая производительность. Это акселераторы серий Wildcat и Wildcat II.

Oxygen VXOxygen VX.Все карты, относящиеся к данному семейству акселераторов, построены на основе процессора растеризации GLINT R3 и поставляются с драйвером Power Threads OpenGL, поддерживающим мультипроцессорность. Также в комплект поставки этих карт входят: программа Vibrant Soft Engine 4, повышающая производительность в AutoCAD, и утилита Colorific, служащая для цветовой калибровки дисплея и принтера. Ввиду отсутствия в картах этой серии встроенного геометрического процессора ускорение таких операций осуществляется через все тот же драйвер Power Threads OpenGL.

В акселераторах Oxygen VX1-1600SW реализована поддержка плоскопанельных мониторов Silicon Graphics 1600SW через встроенный LVDS-разъем, а серия VX1-Stereo оборудована адаптером и стереоочками от StereoGraphics Corporation.

Oxygen GVX.Oxygen GVX Карты среднего ценового диапазона, обладающие на порядок большей, чем серия Oxygen VX1, производительностью за счет наличия полноценного геометрического процессора GLINT Gamma G1. По информации производителя, данный процессор дает 300%-ную прибавку в скорости при обработке полигональных моделей и источников освещения. Кроме того, драйвер Power Threads в акселераторах этой серии работает безукоризненно (заявленная производителем поддержка мультипроцессорности для карт серии Oxygen VX1 вызывала множество нареканий: по заявлениям 3Dlabs, она есть, а вот тестирование показывает иногда несколько иную картину).

Отличие Oxygen GVX1 и GVX1 Pro состоит в том, что в последнем используется растеризационный процессор GLINT R4, а в качестве геометрического процессора -- чип следующего поколения GLINT Gamma G2. Еще один представитель этой линейки -- Oxygen GVX210, также использующий в качестве геометрического сопроцессора GLINT Gamma G2, оборудован уже не одним, а двумя GLINT R3.

И наконец, Oxygen GVX420 -- два процессора GLINT R4, геометрический процессор GLINT Gamma G2, два стандартных и два DVI-выхода. Таким образом, Oxygen GVX210 является дальнейшим развитием GVX1, а Oxygen GVX420 -- GVX1 Pro.

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

Основная особенность архитектуры Wildcat -- перепрограммируемый геометрический процессор, который позволяет, по словам производителя, реализовывать новые функции аппаратных геометрических расчетов просто путем выпуска обновленных версий драйверов. Другая фирменная технология -- SuperScene antialiasing -- позволяет добиться непревзойденного качества при рендеринге сложных сцен, благодаря тому что эффект антиалиасинга применяется не к отдельным OpenGL-примитивам, а ко всей сцене целиком.

Технические характеристики видеокарт

Производитель 3Dlabs FGL Graphics/SONICblue Evans & Sutherland NVidia/ELSA
Видеокарта Oxygen VX1-1600SW Oxygen GVX1 Pro Oxygen GVX420 Wildcat II 5110 FireGL2 FireGL3/4 E&S Tornado 3000 E&S Lightning 1200 ELSA Synergy III ELSA Gloria III
Растровый процессор GLINT R3 GLINT R4  2 x GLINT R4 Wildcat II Technology IBM RC1000 IBM RC1000 REALimage 3000 REALimage 1200 NVidia Quadro2 MXR NVidia Quadro2 Pro
Геометрический процессор - Gamma G2 Gamma G2 IBM GT1000 IBM GT1000 - -
Объем видеопамяти (MB), тип 32, SGRAM 64, SDRAM 128, SGRAM 64/64/16, SDRAM 64, DDR 128, DDR 30 3DRAM/32 CDRAM 15 3DRAM/16 CDRAM 32, SDRAM 64, DDR
Кол-во поддерживаемых мониторов (VGA/DVI) 1/1 1/1 2/2 1/1 1/1 2/2 2/0 1/0 1/1 1/1
Наличие стереоразъема + + + + + + + - - -
Поддерживаемые ОС (наличие драйверов) Windows 9x/NT/2000 Windows NT/2000 Windows NT/2000 Windows NT/2000 Windows NT/2000, Linux Windows NT/2000, Linux Windows NT/2000 Windows NT/2000 Windows 9x/NT/2000, XFree86 Windows 9x/NT/2000, XFree86
Поддержка SMP в драйверах + + + + Н/д Н/д Н/д Н/д Н/д Н/д
Максимальное разрешение @ частота 1600 x 1024 @ 60 Hz 2048 x 1536 @ 60 Hz 4096 x 1536 @ 60 Hz 2048 x 1152 @ 75 Hz 1920 x 1200 @ 75 Hz 1920 x 1200 @ 75 Hz 1920 x 1200 @ 76 Hz 1280 x 1024 @ 85 Hz 2048 x 1536 @ 85 Hz 2048 x 1536 @ 85 Hz
Ориентировочная цена, $* 429 999 2099 2200 1050 Н/д 1900 585 650 1188

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

FGL Graphics

Семейство ускорителей под общей маркой FireGL состоит из четырех моделей: от самой младшей FireGL1 до высокоуровневого FireGL4.

FireGL1FireGL1. Модель построена на базе 256-битового растрового процессора от IBM, а геометрическая акселерация осуществляется программно. Чип оснащен встроенным RAMDAC с частотой 300 MHz, поддерживает шины AGP 2X и PCI. В комплект поставки всех карт входят драйверы для Windows NT/2000 и Linux, оптимизированные под наборы SMD-инструкций SSE и 3DNow!.

FireGL2FireGL2. Этот акселератор позиционируется производителем как идеальное решение в областях MCAD и Game development. Карта построена на базе растрового процессора IBM RC1000 и геометрического процессора IBM GT1000. В отличие от предыдущей модели FireGL2 оснащается не SGRAM, а более быстродействующей DDR-памятью, объем которой увеличен в два раза (с 32 до 64 MB). Кроме того, данный акселератор оборудован разъемом DVI-I, что позволяет ему выводить изображение на цифровые мониторы.

FireGL3/FireGL4FireGL3/FireGL4. Самые высокоуровневые карты в линейке FireGL, которые обеспечивают, по заявлению производителя, "непревзойденную мощь и качество в CAD-приложениях и при создании анимации". Обе карты имеют растровый процессор IBM RC1000 и геометрический процессор IBM GT1000, оборудованы 128 MB DDR SGRAM и поддерживают подключение до двух цифровых мониторов.

Честно говоря, по информации на сайте производителя, нам так и не удалось найти каких-либо отличий в описании и технических характеристиках FireGL3 и FireGL4. Впрочем, вполне возможен и такой вариант: слегка "доведенный" FireGL3 был "превращен" в новую модель, после чего старую планируется просто снять с производства. В пользу этого предположения говорит и тот факт, что доступный для загрузки с сайта (www.firegl.com) datasheet содержит описания всего трех моделей -- FireGL1/2 и новой FireGL4.

E&S (Evans & Sutherland)

В настоящий момент наиболее распространены акселераторы этой компании Tornado 3000 на базе чипа REALimage 3000 и Lightning 1200 на базе REALimage 1200. Нужно заметить, что сайт компании E&S (www.es.com), видимо, находится в процессе больших преобразований, в связи с чем информацию об этих продуктах пришлось буквально по крупицам собирать из различных источников -- на самом сайте не удалось найти даже спецификации карт и чипов.

Однако общее представление об "идеологическом" подходе к разработке акселераторов этой компанией составить все же можно. E&S подошла к проблеме баланса между производительностью растеризационной и геометрической составляющей акселератора довольно оригинальным образом: графический чип занимается только процессом растеризации, геометрические же преобразования полностью возложены на драйверы, в которых применяется фирменная технология DYNAMICgeometry, оптимизирующая геометрические вычисления путем их максимального распараллеливания и, кроме того, использующая расширенные инструкции Pentium III (SSE).

Графические чипы REALimage обладают очень внушительным списком возможностей: аппаратное затенение по Гуро, полный антиалиасинг, коррекция перспективы, попиксельная коррекция глубины. Кроме того, в акселераторах Evans & Sutherland используется редкая в настоящее время архитектура раздельной организации памяти: фрейм-буфер и текстуры хранятся в отдельных банках, причем даже тип используемой памяти у них разный. Для фрейм-буфера применяется 3DRAM -- двухпортовая память, имеющая свою собственную встроенную логику, которая оптимизирует обращения к ней. Для хранения текстур служит CDRAM -- фактически обычная SDRAM-память со встроенным в сами чипы дополнительным кэш-буфером.

В результате такого подхода карты от E&S являются чрезвычайно удачным выбором для создания различных насыщенных эффектами компьютерных роликов, анимации и пользуются заслуженной популярностью в среде дизайнеров, работающих в кинематографии, а также... военных -- на их основе создано множество различных тренажеров, применяющих эффект "виртуальной реальности".

NVidia

Компания NVidia, ранее известная только своими игровыми акселераторами, с выходом чипа GeForce 256 принялась всерьез за разработку профессиональных. По крайней мере, такое сложилось впечатление. Однако бытует и другое мнение, что на самом деле начиная с GeForce 256 компания изначально разрабатывает именно профессиональные чипы, из которых потом искусственно "удаляются" некоторые функции, после чего они превращаются в игровые (вспомним примеры из другой области -- Intel Pentium III --> Celeron, AMD Athlon --> Duron и т. п.). Так или иначе, но с появлением каждого нового чипа серии GeForce, как правило, некоторое время спустя выпускается и весьма похожий на него по большинству технических характеристик чип профессиональной серии Quadro. На данный момент эта линейка состоит из трех чипов, которые мы и рассмотрим подробнее.

Quadro. Этот чип был анонсирован после выхода GeForce 256, но до появления GeForce2 GTS, поэтому многие называют его функциональным аналогом первого. Пожалуй, даже на данный момент времени Quadro уже можно считать несколько устаревшим (опять-таки, как и GeForce 256).

Quadro2 Pro/Quadro2 MXR. С известной долей вероятности можно считать, что в основу Quadro2 Pro лег чип GeForce2 GTS, а в основу Quadro2 MXR -- "облегченная" версия GeForce2 MX. Впрочем, как уже говорилось выше, трудно судить, что первично, а что вторично и являются ли профессиональные Quadro расширенными вариантами игровых GeForce или наоборот, GeForce -- это искусственно ограниченные Quadro. Фактически "братские" чипы действительно очень похожи -- DDR-память на 128-битовой шине у Quadro2 Pro и GeForce2 GTS, обычная SDRAM у Quadro2 MXR и GeForce2 MX, поддержка TwinView у двух последних и так далее. Пожалуй, из особенностей профессиональных чипов NVidia следует отметить только 32-битовый Z/Stencil Buffer (максимум 24-битовый у всей серии GeForce) и поддержку Hardware Antialiased Line Engine у Quadro2 Pro (у любого GeForce она отсутствует как таковая)

  • Заключение:

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

    С другой стороны, пользователи профессиональных OpenGL-ускорителей, как правило, гораздо менее стеснены в средствах, по крайней мере те, кто занимается этим серьезно (справедливости ради следует заметить, что "менее стесненными в средствах" чаще всего оказываются не конкретные дизайнеры, а фирмы, в которых они работают). Поэтому такое понятие, как соотношение цена/качество/производительность, привычное нам опять-таки по миру игрового 3D, в данном случае не является решающим фактором -- главное, чтобы не страдали качество и производительность, а цена -- заведомо очень и очень высока (достаточно одного взгляда на сводную таблицу).

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

дата публикации: 05.06.02

iphone в ростове купить в М.Тайм | Купить iphone 5s в ростове в М.Тайм
© Copyright Design Maximum