Что такое 3D, зачем оно нужно и нужно ли оно вообще, а если да, то за какие деньги?
Как и в большинстве компьютерных технологий, в графике развитие происходило следующим образом:
сначала были видеокарты, имеющие некоторые дополнительные возможности, большие, чем обеспечиваемые стандартом VGA, для использования которых необходимо было использовать специальные программы. Некоторые игры и программы были специально переписаны/подправлены для этого.
Потом, с увеличением количества игр и видеоадаптеров, появилась необходимость стандартизировать графический интерфейс.
Наверное многие помнят, что года три назад, на дискетах к видеокарте были драйверы для Windows 3.1, ACAD, 3DS. Эти программы использовали собственный интерфейс для работы с различными ускорителями. Позже был приняты стандарт VBE (VESA BIOS extension). С его помощью многие программы стали универсальнее.
Потом программы стали писать для MS Windows и здесь работа с видео была переложена на драйверы видеокарты. Однако, в это время работа под DOS обеспечивала большую производительность, и к тому-же, игры стали смещаться в область трехмерного представления действия.
С появлением Windows95 ситуация сильно изменилась, а когда MS выпустила DirectX, многие разработчики вздохнули с облегчением. Теперь им приходилось оперировать не портами видеокарт, а вызовами DirectX API, что несомненно проще.
Несмотря на все возрастающую скорость процессоров, их мощности не удовлетворяют требованиями потребителей, жаждущих красивых и динамичных 3D аркад. Кто рисовал мультфильмы в 3DS, должны помнить, сколько времени занимал рендеринг одной сцены! А теперь это хотят делать в реальном времени и с одновременным рассчетом передвижений дюжены участников игры!
В это время уже делали ускорители двумерной графики, умеющие рисовать линии, окружности, закрашивать прямоугольники, но переход к трехмерной графике потребовал резкого скачка в производительности видеоконтроллеров и видеопамяти. Теперь Вы можете наблюдать, что из этого получилось.
Под 3D ускорителем понимают чип, который может ускорить некоторые операции по обработке и выводу 3D изображения. На аппаратном уровне выполняются такие функции, как наложение текстур, масштабирование, обработка источников света, удаление невидимых поверхностей и т.д. Результатом является освоюождение от сложных вычислений центральный процессор вашего ПК.
К сожалению, бывает так, что при наличии только 2-3 функций, имеющих отношение к 3D, многие производители уже называют чип "3D ускорителем". Но мы им верить не будем и попробуем все своими руками и посмотрим своими глазами.
Как всегда, для распространения этой технологии потребовались стандарты. В их качестве выступили MS Direct 3D и OpenGL.
Первый используется большинством игр для ОС Windows95, второй — больше распространен в WindowsNT, а также может использоваться играми типа Quake2, GLQuake, GLHexen. Какой из стандартов "выиграет" заранее неизвестно, поэтому желательна поддержка всех, что есть :) .
Для работы Direct3D необходимо:
- Windows 95 (или Windows 98, Windows NT 5.0)
- драйвер видеокарты с поддержкой DirectX (или сам DirectX, если ваша карта/чип поддерживается им, как например S3 Trio64V+, S3 Virge)
- пакет DirectX
- программа, которая знает, что есть DirectX и умеет его использовать.
- Для OpenGL нужна поддержка со стороны драйвера видеокарты, библиотека opengl32.dll (или другая, в зависимости от карты), для WindowsNT очень рекомендуется Service Pack 3.
Следует отметить, что даже если ваша видеокарта не содержит 3D ускорителя, Вы можете использовать 3D программы через Direct 3D и OpenGL, однако, в этом случае вся работа по расчету трехмерных сцен ляжет на процессор и общая производительность системы может очень Вас разочаровать. Например, скорость Quake2 при работе через программную реализацию OpenGL составит не более 1fps при выполнении под Windows95 на iPMMX166.
В этом случае технология такая — функции, не поддерживаемые видеоконтроллером, эмулируются программно. Отсюда можно придумать критерий выбора видеокарты — чем больше 3D функций она поддерживает (аппаратно), тем лучше.
Но и здесь есть проблема — большинству пользователей ПК, названия этих функций ничего не говорят, производители же часто называют все "своими" именами, а выбор только по количеству возможностей может несильно отражаться на качестве, зато сильно на цене.
Поэтому, мы решили провести собственное расследование.
Зачем это 3D нужно.
- Вы получите большее значение fps (от 30) в большинстве новых игр, причем скорее всего он будет не сильно зависеть от разрешения и количества цветов. Зато картинка будет сильно лучше.
Пример: картинка Quake2 software (56.5Кб),
картинка Quake2 OpenGL (32.5Кб). Совместимость с OpenGL и/или Direct3D позволит Вам и в будущем наслаждаться красивыми изображениями. - Если вы любите 3DS, то, возможно, картинки и в ней будут рисоваться быстрее.
- Наличие нетривиального 3D ускорителя позволит чувствовать себя уверенее среди любителей 3Dfx и говорить, что "у меня величина fps тоже больше 30"
- Возможно, где-то есть офисные программы, желающие рисовать свои кнопочки через Direct3D
- Также вероятно, что будущие операционные системы будут требовать 3D ускорителя для прорисовки трехмерных курсоров от трехмерных мышек, теней окошек и перспективного отображения размещения файлов на вашем жестком диске, но этого может и не произойти.
Таким образом реально сегодня работает только п.1. :)
Для сравнения были использованы следующие, "специально" отобранные, недорогие (не Hi-End) карты:
карта | чип | память | цена |
ATi XPERT@WORK | ATi Rage Pro | 4MB SGRAM | $175 |
ATi PRO TURBO PC2TV | ATi Rage II | 4MB SGRAM | $175 |
ViewTop ET7 | Tseng ET6000 | 4MB MDRAM | $65 |
ATi карты широко распространены, имеют хорошие драйверы и техническую поддержку. ATi Rage Pro используется ведущими приизводителями ПК (на западе :) — IBM Aptiva S6S, Compaq Prolinea 4840, Dell Optiplex GXa.
Карты на основе Riva 128, Voodoo и т.д. не рассмотривались в силу их отсутствия и некоторого личного недоверия к их драйверам, возможностям, сложностям ;)
Если вам есть, что добавить, пишите!
Подробнее про рассматриваемые карты можно рассказать следущее:
ViewTop ET7 и все остальные на чипе Tseng ET6000
Несомненно, является одной из самых быстрых 2D карт. Преимущество обеспечивается применением оригинального типа видеопамяти MDRAM, позволяющей даже при объеме 2Мб работать с полной скоростью на 128bit шине видеопроцессора.
Из достоинств отметим скорость ускорителя 2D и MPEG и невысокую цену.
Из недостатков есть только один — слабый RAMDAC, всего на 135MHz. (Есть слухи, что есть карты на ET6100, у которых этот недостаток немного исправлен и там RAMDAC уже 175 MHz).
Для большинства 14" и 15" мониторов это не важно, но для профессинальной работы, например, в режиме 1024x768 эта карта непригодна, т.к. обеспечивает в этом режиме кадровую развертку с частотой 75Гц.
ATi PRO TURBO PC2TV
В этой карте используется чип ATi Rage II, который является 2D/3D ускорителем. Есть драйверы для Windows95, совместимые с Direct3D. Поддержка OpenGL ожидается, но для этой карты это не актуально.
Приятным дополнением является возможность вывода изображения на TV, особенно она понравится владельцам 14" мониторов. TV может подключаться через Video или S-Video вход. Во втором варианте предполагается улучшенное качество, но я это не проверял.
Система кодирования цвета — NTSC или PAL, зависит от варианта карты (см. наклейку на микросхеме с видеобиосом — там это написано).
Поддерживаются все разрешения до 800х600 включительно.
Причем, вывод на TV требует только подключения этого TV — можно работать вообще без монитора, но с TV! Только не забывайте, что TV это все-таки не монитор и с четкостью изображения там похуже. Т.е. для работы конечно это применять сложно, но для игр — очень неплохо. Я пробовал играть в Jedi Knight и смотреть VideoCD — мне понравилось.
Добавлю еще одно личное замечание — драйверы к этой карте установились сразу и очень хорошо. Я вспоминаю мое общение с Matrox MGA с содроганием, и не ожидал от ATi такого сервиса. Драйверы меня очень порадовали и я проникся ATi!
ATi XPERT@WORK
Следущее поколение чипов 2D/3D ускорителей ATi Rage Pro расчитано как на шину PCI, так и AGP. В качестве видеопамяти, может использоваться SGRAM или WRAM. Скорость 3D карты под Windows 95 при работе через Direct3D очень впечатляет, она работает в 1.5-2 раза быстрее ATi Rage II. Вероятно, версии для AGP будут еще быстрее. Поддержка OpenGL для Windows95 ожидается в начале следующего года.
Под WindowsNT OpenGL действительно работает уже сейчас. Скорость прорисовки Quake2 была достаточна для игры, но комфортнее под WindowsNT Вы себя почувствуете, если поставите RAM 64Mb или больше.
Карта XPERT@PLAY, тоже созданная на базе Rage Pro, имеет выход на TV, качество обещают лучше, чем у PC2TV.
Теперь приведем несколько цифр:
Тестовая конфигурация: iPMMX166, 32Mb EDO RAM, MS Windows 95 OSR2 PE, DirectX 5.0
Rage Pro | Rage II | ET6000 | |
---|---|---|---|
DOS | |||
gspeed (среднее) | 274 | 263 | 288 |
Quake (fps) | |||
320x200 | 37 | 34 | 40 |
640x480 | 13 | 13 | 16 |
Windows | |||
Intel Media Benchmark | |||
Video | 226.82 | 227.17 | 227.70 |
Image | 653.47 | 659.98 | 664.71 |
3D | 138.37 | 140.22 | 139.28 |
WinTune 97 | 35Mb/s | 27Mb/s | 40Mb/s |
Xing 3.02 window/full screen | 68fps | 55fps | 67fps |
WinQuake (fastvid) (fps) | |||
320x200 full screen | 38 | 36 | 40 |
320x240 window | 34 | 34 | 33 |
640x480 window | 28 | 27 | 27 |
DirectX 3D | |||
MS Tunnel Dx3D 512x384 (fps) | (Dx3D HAL) | (Dx3D HAL) | (Ramp emulation) |
16bit window | 113 | 41 | 15 |
16bit full screen | 70 | 35 | 14 |
32bit window | 113 | 32 | 8 |
32bit full screen | 70 | 35 | 7 |
PC Players 3D benchmark (fps) | (Dx3D HAL) | (Dx3D HAL) | (Ramp emulation) |
320x200 window | 37.3 | 20 | 14 |
320x200 full screen | 29.8 | 18 | 13 |
640x480 window | 26.5 | 7.5 | 5.1 |
640x480 full screen | 22.6 | 8.4 | 5.1 |
Для сравнения с Hi-End приведем еще два результата PC Players 3D benchmark в режиме 1024x768x16bit full screen:
карта | шина | CPU | результат |
Riva 128 (ASUS AGP-V3000) | AGP | iPII262 | 30fps |
ATi Rage Pro (XPERT@WORK) | PCI | iPMMX166 | 21fps |
Выводы:
- 3D мне понравилось :)
- Из-за небольшой цены есть смысл при покупке нового ПК требовать 3D карту
- дешевые (S3 Virge) и старые (MGA) "3D" карты не дают ничего для современного 3D
- Если на коробке вашей новой видео карты написано "3D", это может означать:
a) — что есть 1 (одна) игрушка, возможно только демо-версия, которая работает с вашей картой немного быстрее (пример — видеокарты на S3 Virge, MGA);
b) — ваша карта совместима с Direct3D, OpenGL, все небходимое ПО и несколько демоверсий игр находятся в той-же коробке и эти программы работают сразу, без утомительной настройки;
c) — что-то между этим. - ATi Rage Pro достаточно неплохой чип, имеющий возможности для роста. (AGP, 8MB SGRAM)
Полезные программы:
- DirectX 5
- DirectX Control Panel — программа, добавляющая иконку DirectX в Control Panel и показывающая поддерживаемые 3D-функции
- SiSoft Sandra — System ANalyser, Diagnostic and Reporting Assistant, программа для Windows 95 для диагностики ПК. Она поможет собрать все данные, касающиеся DirectX, в том числе узнать возможности 3D-ускорителя в Direct3D
- PC Players 3D benchmark
- MS Tunnel D3D benchmark
- GLQuake
- Quake2
- WinQuake