IZONE- http://www.izcity.com/- бесплатный софт, вэб-сервисы, ресурсы для раскрутки, свежие номера журнала "Internet Zone".

3D-террористы

Доктор Зло

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

Долго мы ждали, но это случилось. Ну, типа, бум (час пробил, если не догадались - прим. ред.). Наконец-то, компания 3Dlabs, а вместе с ней и Matrox все-таки вылезли из своих пенатов и посулили нам, жадной до сенсаций прессе, невиданные доселе продукты. А если они это все рассказали прессе, то явно надеялись, что мы тотчас же побежим рассказывать это читателям. И правильно сделали, что так думали.

Пока мы не углубились в изучение архитектур, зададим себе главный вопрос - чему верить и чего ждать? И сразу же ответим себе: "ничему и ничего". Ведь сказать что-то определенное мы сможем, только когда воткнем эти карты в материнские платы и протестируем.

3Dlabs P10

А вот вы и познакомились с названием нового чипа от 3Dlabs. Чисто в маркетинговых целях чип не зовут GPU, нет, теперь это VPU - Visual Processing Unit. Главная фича этого чипа - немереная гибкость ядра. Можно сказать, что 3Dlabs сварганила нечто вроде настоящего графического программируемого процессора. А теперь спрашивается, на фига пропеллеру Карлсон? Да все просто - до сих пор производители видеокарт четко определяли, что можно делать с картой, а на что она не способна ни под какими пытками.

Хоть до идеала оптимизируй логику выполнения в чипе анизотропной и трилинейной фильтрации, а кроме этого, уже ничего не сделаешь. В последних картах, конечно, инженеры дали программистам чуть-чуть свободы - дело касается программируемых пиксельных и вершинных шейдеров. Вначале программисты обрадовались, но потом поняли, что их в очередной раз накололи - какая же это свобода, когда можно сделать код или для Radeon 8500 - тогда он не будет работать на GF3, или для GF3 - но тогда возможности Radeon 8500 полностью использованы не будут.

А вот 3Dlabs считает, что если бы даже присутствовала совместимость, то эта "свобода" все равно бы не удовлетворяла потребностям 3D-графики нового поколения. Ну и что за "не фигню" нам предлагает 3Dlabs через 3-4 месяца?

Ну, во-первых, шина памяти в новом чипе теперь 256-битная. А это значит, что на тех же частотах работы видеопамяти, что и у Radeon 8500, а также GeForce4, память P10 теоретически получит пропускную способность в два раза больше, то есть не 10 и даже не 12 Гб/с, а целых 20-24 Гб/с. Наконец-то полностью сможет реализовываться потенциал памяти DDR, коей на карте может быть установлено до 256 Мб.

Во-вторых, в VPU будут работать 4 конвейера рендеринга с двумя блоками закраски в каждом. Но конвейеры будут не простыми - в каждой ступени их работы будут немного изменены операции. Например, при обработке графических данных будет использоваться множество потоков с использованием алгоритмов распределения ресурсов.

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

"Эй, а в какое место засовывать видеокарте все эти потоки?" - спросите вы. Да найдем, например, в какой-нибудь из шестнадцати 32-битных распараллеленных геометрических процессоров с плавающей запятой, обрабатывающих вершины. Нехило?

Например, GeForce4 имеет только два блока вершинных шейдеров. Правда, со значениями вершин они работают с такой же скоростью, как и четыре процессора P10, но все равно у P10 получается перевес по скорости в два раза (ведь процессоров-то 16 штук). Мало того, при обработке скалярных величин (которые также частенько попадают в геометрический процессор) превосходство перед GeForce4 уже получается восьмикратное, так как за такт два блока GeForce4 могут выполнить по одной такой операции, а P10 аж 16 штук.

Выдохнули? Идем дальше. При рендеринге тайловый процессор P10 разбивает сцены на участки 8x8 пикселей и далее обрабатывает ее по участкам. Почему не 16х16? Просто так лучше используются внутренние кэши.

Вот теперь это странное слово "шейдеры". Программируемый текстурный процессор разбит на несколько 32-битных процессоров, работающих параллельно, в котором некоторые блоки полностью программируемые. Если считать по пальцам, то получается что у P10 внутри стоят 64 процессора с плавающей запятой, занимающиеся генерацией координат, а другие 64 целочисленных процессора занимаются вычислением конечных цветов пикселя. Все это хозяйство позволяет накладывать по 8 текстур за один проход (не путать с тактом!). К тому же, кроме фиксированных алгоритмов их фильтрации можно использовать программируемые.

Всякие там полноэкранные сглаживания в P10 тоже легко программируются. Естественно, поэтому P10 поддерживает все возможные типы сглаживания - от краевого сглаживания в OpenGL до суперсэмплинга и мультисэмплинга 8x.

Чтобы позволить разработчикам приложений и игр использовать больше текстур, в P10 введен новый механизм взаимодействия видеопамяти с системной памятью. Видеопамять в P10 можно даже назвать кэшем, так как менеджер памяти чипа при запросе текстуры загружает нужный блок 32-битных пикселей размером 256 x 256, и только если есть необходимость - всю остальную текстуру. Фактически, это более крутой вариант на тему AGP-текстурирования, где быстрым кэшем является видеопамять акселератора.

О поддерживаемых стандартах можно даже не заикаться - если чип практически полностью программируемый, то и такие API, как OpenGL 2.0 и, по большей части, DirectX9 он будет поддерживать. Хотя, конечно, мы еще не доросли до полного использования возможностей DirectX 8.

Настанет ли счастье от этого всего обычным пользователям или чип будет ориентирован только на крутые графические станции? Настанет. Хотя бы потому, что продвижением на рынок мейнстрим займется компания Creative, купившая не так давно 3DLabs.

Parhelia-512

Спросил я Аленку, какие ассоциации возникают у нее на это слово, и получил ответ: "пархатая бабка". Мда... Реально Parhelia (паргелий, или гало) - это оптический эффект, возникающий при отражении и преломлении света снежинками. Впрочем, нам это все не важно - давайте посмотрим на характеристики.

Первым делом память. Она, как и у P10, ограничена объемом 256 Мб, общается с чипом по 256-битной шине, и тоже принадлежит к классу DDR. Внутри GPU (это все же GPU, а никакой не VPU, ZPU или DPU) расположены четыре пиксельных конвейера, способные обрабатывать по 4 текстуры за такт, 4 программируемых модуля обработки вершинных шейдеров и куча других полезных вкусностей, о которых чуть ниже.

А пока стоит посмотреть на главный конек Matrox - качество 2D-графики. Казалось бы, что еще можно придумать? Двухголовые карты уже сделали, отличной картинки в высоких разрешениях уже добились. Ан нет, мало Matrox. Она сделала поддержку трех (!) мониторов! На чипе расположены два экранированных RAMDAC, частота которых - 400 МГц, а третий RAMDAC, с частотой 230 МГц, работает на третий выход, обеспечивая картинку с разрешением до 1600 х 1200. Компания назвала такую фичу "surround gaming". Понятно, что играть с тремя мониторами будет намного эффектней, только вот кто себе это сможет позволить и куда это все барахло ставить?

Пресловутое качество 2D-графики компания сделала еще круче. Основным доработкам подвергся RAMDAC (его частота) и фильтры на аналоговых выходах. Для справки - большинство карт на базе чипов GeForce4 и Radeon 8500 имеют фильтры третьего порядка, пропускающие больше паразитных частот на монитор.

В Parhelia-512 используются точно подогнанные низкочастотные фильтры пятого порядка на своих аналоговых выходах. Это позволит значительно улучшить качество изображения на высоких разрешениях, когда RAMDAC работает на граничных значениях частоты.

Теперь посмотрим, что нового в чипе выросло по части 3D-графики. На данный момент это единственный GPU, который в каждом конвейере способен за один такт накладывать сразу четыре текстуры (P10 способен это делать за один проход, но не за один такт).

В Parhelia встроены четыре модуля обработки вершинных шейдеров, так что новый чип от Matrox при равных тактовых частотах сможет работать с шейдерами в два раза быстрее GeForce4 при равных тактовых частотах. Блок работы с вершинными шейдерами не так круто программируется, как оный у P10, однако предлагает даже большую гибкость, чем нужно стандарту DX8.1, поэтому возможна совместимость с версией DirectX 9.

Текстурные модули у Parhelia очень гибки - например, при использовании только двух модулей для текстур, другие два могут заниматься фильтрацией не в ущерб производительности.

Но вот незадача, из-за нехватки места на кристалле в чипе Matrox не используется движок по отбрасыванию невидимых вершин. Это и так не есть хорошо, а в будущих играх графическому процессору придется тратить на бесполезный обсчет скрытых поверхностей очень большое количество ресурсов, что сильно скажется на производительности.

Что касается конвейера пиксельных шейдеров в Parhelia-512, то он по архитектуре круче оного у GeForce4, так как имеет пять ступеней конвейера пиксельных шейдеров в отличие от двух в GeForce4. Мало того, чип может выполнять не только 5 операций за один проход на одном конвейере, но и 10 операций за один проход на двух конвейерах. А уменьшенное количество проходов положительно сказывается на производительности.

Как и в случае с EMBM, с выходом нового чипа компания нас решила порадовать новой технологией. На сей раз в чип встроена поддержка аппаратных карт смещения (Hardware Displacement Mapping, HDM). Цель HDM заключается в получении более реалистичной картинке, но не при помощи бешенного количества треугольников, а при помощи использования в уже существующих треугольниках карт смещения.

По сути своей они представляют из себя все те же текстуры, где вместо цветовых значений каждого пикселя используется смещение каждой точки карты. Например, самый примитивный ландшафт можно сделать из двух треугольников и пары текстур HDM. Понятно, что ландшафтами применение HDM не ограничится - использовать технологи можно везде.

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

В Parhelia введен новый, интеллектуальный алгоритм сглаживания, который называется FAA (fragment anti-aliasing) и сглаживает картинку только на границах полигонов. Движок определяет, находится ли пиксель на краях полигона, и если находится, то в этой области применяет к нему сглаживание. Так как их находится примерно в границах от 5 до 10% от всех пикселей сцены, производительность карты при использовании полноэкранного сглаживания снижаться практически не должна.

Уфф, ну вот и все, что можно было сказать о новых графических чипах, не залезая глубоко в дебри архитектур. Будем надеяться, что они все-таки скоро увидят свет и порадуют нас не только высокими fps и качественной картинкой, но и безглючными драйверами.

Источник: http://www.computery.ru/upgrade/

 


Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com