05a32825

Графические ускорители


(акселераторы и сопроцессоры) - специализированные графические сопроцессоры, увеличивающие эффективность видеосистемы. Их применение освобождает центральный процессор от большого объёма операций с видео-данными, так как акселераторы самостоятельно вычисляют, какие пиксели отображать на экране и каковы их цвета. Различают:
· графический сопроцессор - специализированный процессор, который подключается к шине компьютера и имеет доступ к его оперативной памяти. В процессе своей работы сопроцессор пользуется оперативной памятью, конкурируя с центральным процессором по доступу и к памяти и к шине.
  · графический акселератор ("движок") работает автономно и при решении своей задачи практически не выходит на системную шину.

  • 2D-ускоритель. Чтобы не было задержек в выводе графики на экран, в видеокарту встроили спец микросхему - акселератор 2-мерной графики, который отчасти используя CPU (но аппаратно почти самостоятельно) на основании координат и параметров элементарных геометрических фигур (отрезков, дуг и т.п.) рисовал на экране полное изображение этих фигур из которых и формировался рисунок. И изображение строилось уже не из отдельных точек, а из простых геометрических примитивов, что ускоряло (на порядок) вывод изображения на экран. Позднее видеоакселераторы совместили с видеочипом (микросхемой) видеокарты и дополнили реализуемыми аппаратно функциями: масштабирование (пересчет размеров) по определенной оси координат, рисование окна и т.п.
  • 3D-ускоритель. На основании параметров элементарных 3-мерных фигур и точки наблюдателя рисовалась их проекция на экране (математически - создавалась 3-мерная модель изображения и рассчитывалась ее проекция на плоский экран). Для помещения фигуры в любую точку экрана использовали искусственное "смещение системы координат". Объекты перекрываемые по дальности (рассчитывалось их удаление до наблюдателя), заслонялись приближенными. В зависимости от расположения источника света просчитывалась освещенность фрагментов поверхности объекта.


    Объекты представляют в упрощенной геометрической форме, а ее усложнение задается накладываемой на рисунок поверхностью - текстурой. В результате - не поточечное описание всей поверхности, а всего-лишь одна команда головной программы по инициализации ее модуля описания вызываемой текстуры с задаваемыми параметрами ее наложения. Все текстуры, z-буфер и буфера следующего кадра хранятся в видео-памяти. Соответственно видеопамяти для 3D-изображений требуется в 4 раза больше, чем для 2D изображения.
  • адаптер с аппаратной геометрией (будущее)


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

· FPS (frames per second, тест на 3D-игру) - один из основных показателей скорости игры, означает количество выводимых кадров в секунду. FPS является обобщенной характеристикой многих технических параметров видеокарты, таких как частота ядра контроллера, технология изготовления чипсета, разрядность шины и пр. Есть тенденция его абсолютизировать, т.е. попытки представить его главным и единственным скоростным показателем. Но:
    a) нельзя применять FPS без приведения конкретных обстоятельств его получения. Ести вещи, от программ не зависящие - например, частота смены кадров .
    b) fps - это интегральный показатель, точнее - это усредненное за определенный период времени значение.
Нельзя мерять (посредством FPS) именно скорость видео-аккселератора. Скорость же данной игры на данном видео-аккселераторе на данной PC с данным - можно и нужно измерять при помощи FPS.

  Новое поколение ускорителей берет на себя огромное количество функций (обработкой текстур, теней, многослойных изображений, etc.). Важнейшей характеристикой 3D является аппаратная поддержка ставших стандартами библиотек трехмерного моделирования (API). Сегодня таких стандартов три +:[ZEBR_TAG_ul>

  • Glide – библиотека от 3Dfx.



    В свое время эта библиотека завоевала популярность благодаря широкому распространению первых 3D-ускорителей 3Dfx Voodoo. Для быстрого Glide было создано множество игр. Однако компания 3Dfx только сейчас сделала библиотеку свободно доступной для других производителей видеокарт, а потому пока Glide поддерживают лишь карты от самого 3Dfx. Эта библиотека позволяет создавать игры с весьма средним качеством графики, но непревзойденной скоростью. На сегодняшний день Glide – вымирающий стандарт.
  • Direct3D – библиотека от Microsoft-a. DirectX - это интефейс низкого уровня, он предоставляет программисту прямой доступ к памяти адаптера, где тот создает изображение, хранит графические образы, звуки и т. д. Получила широкое распространение благодаря агрессивной политике. Функциональная часть названа Direct3D. Состоит из:


    • DirectSound - микширование звука и 3D звук .
    • DirectInput - для поддержки клавиатуры, мыши, джойстика и так далее
    • DirectPlay - для обеспечения поддержки играть через сеть
    • DirectAnimation - для создания анимационных эффектов в WEB-стриницах
    • DirectShow - для применения мультимедиа в WEB
    • DirectMusic - новый раздел. Служит для применения музыки в играх


    На сегодняшний день поддерживается почти всеми видеокартами. Проверка работы отдельных опций DirectX (в частности -3D) -утиллитой Windows\System\dxdiag.exe.
  • 0penGL – была создана специально для программ трехмерного моделирования, а также для мощных графических станций. В результате быстрого развития видеоиндустрии в последние годы, эта библиотека постепенно стала одним из ведущих стандартов для 3D-игр на платформе PC. Единственный минус – отсутствие ее полных вариантов для некоторых ускорителей (например, для абсолютного большинства видеоадаптеров от 3Dfx). Однако сами производители видеокарт постоянно борются с этим, выпуская все новые и новые драйвера для своих детищ, и порой делают это весьма успешно. OpenGL является самым перспективным стандартом.
  • Универсальный драйвер позволяет программисту не нужно думать над стыковкой программы (напр.игрушки) с той или иной платой. Однако при этом реализуются только общие (стандартные) функции графики. Поэтому существует целый ряд библиотек от различных разработчиков видеокарт. Это 3DR (Intel), Rave (Apple), Heidi (Autodesk), RenderGL (Intergraph), Criterion Renderware, Argonaut BRender Все они пока не получили широкого распространения ввиду узкого применения.

      Королем программирования 3D-акселераторов считается John Carmack (Джон Кармак) из idSoftware.

    ·


    Содержание раздела