Введение
GeForce 8800 открывает эру DirectX 10
Всего 4 года назад ATI своим графическим процессором Radeon 9700 Pro первой возвестила о начале новой эры компьютерных игр – эры DirectX 9. И всего 2 года с небольшим прошло с момента выхода первой видеокарты с поддержкой шейдеров 3.0 – NVIDIA GeForce 6800 Ultra. Оба этих события явились переломными в PC графике и благодаря им современные игры выглядят намного более реалистичнее, чем раньше. Только представьте, как смотрелись бы сейчас игры без мощных пиксельных и вершинных шейдеров (а также других новых функций, таких как HDR освещение), которые впервые стали поддерживать эти видеокарты.
В текущем 2006 и особенно в 2007 году, когда появится соответствующее программное обеспечение, с помощью DirectX 10 устройств PC графика и игры сделают ещё один огромный шаг в своем развитии. Видеокарты серии GeForce 8800 компании NVIDIA являются первыми GPU, которые поддерживают новые функции, но NVIDIA заложила в эти видеокарты также множество таких функций, которые уже сейчас делают их лучшими графическими системами для мощной поддержки новейших игр DirectX 9 и OpenGL 2.0.
Однако прежде чем мы перейдем к подробному рассмотрению нового GPU, давайте вкратце познакомимся с основными особенностями DirectX 10.
Как Вы, наверное, уже знаете, DirectX 10 был полностью переделан, прямо с самых основ: что касается графики, то здесь не осталось ни одного нюанса API, который не был бы изменен. Благодаря этому у DirectX 10 есть несколько новых функций, которые должны не только улучшить качество, но и увеличить скорость обсчета изображения. Перечислим его основные параметры:
- Новая модель драйвера: в DX10 драйвер разделен на 2 части: пользователя и ядра ОС. Драйвер ядра изолирован от драйвера пользователя для обеспечения большей стабильности.
- Теперь вместо вершинных и пиксельных конвейеров вводятся новые – геометрические.
- Увеличенная эффективность, устраняющая проблему “небольших пакетов данных”. (По заявлениям Microsoft это даст прирост в скорости обработки видеоданных до 6 раз по сравнению с работой DierctX 9 видеокарт в Windows XP). В результате GPU возьмет на себя и часть вычислений, которые раньше приходилось делать CPU, что позволит контролировать большее число объектов на экране. Это увеличит реализм и скорость действий в новых играх.
- Виртуализация памяти для GPU. В случае нехватки своей памяти, видеокарта сможет задействовать оперативную память компьютера.
- У Shader Model 4.0 больше набор команд, включая целочисленные и побитные, перенос большего объема вычислений на GPU.
- Конвейеров с фиксированной функцией теперь нет. Их работа программируется.
- Достоверность: битов поддержки также нет – они использовались в DirectX для информирования о том, поддерживает или нет конкретный GPU ту или иную функцию. Теперь у производителей видеокарт будет меньше возможностей отклониться от спецификаций. Такие жесткие требования к функциям видеокарт должны привести к тому, что они будут удовлетворять одинаковым базовым требованиям; остается всего несколько необязательных функций, например, мультишаблонный антиаляйзинг. (Например, в первое время в DirectX 9 было несколько вариантов форматов расчета с плавающей запятой (FP16, FP24, и FP32), что приводило в замешательство разработчиков программного обеспечения.)
- HDR-освещение – 2 новых формата HDR с плавающей запятой для DX10-совместимых GPU: в DirectX 10 для форматов HDR добавлена дополнительная поддержка, чтобы данные HDR были более компактными, – это позволит использовать HDR более эффективно
- Выделение для GPU виртуальной памяти – раньше объем памяти для текстур был ограничен только объемом памяти видеокарты, теперь текстуры могут храниться и в системной памяти, что снимет ограничение на объем данных текстур.
- Более совершенные геометрические объекты – геометрические объекты, впервые появившиеся в DX9 в 3.0 шейдерной модели, есть и в DirectX 10. Сделанные расширения предоставляют разработчикам больше настроек (например, рендеринг геометрическими объектами обеспечивает уникальную анимацию объектов (таких, как наземные модули в игре RTS)).
- Увеличение памяти для текстур в DX10 позволяет увеличить максимальные размеры текстур. Их максимальные размеры в DirectX 9 – 2048 x 2048 или 4096 x 4096, а в DX10 – 8192 x 8192.
|