|
|
 |
22-битный рендеринг
Начиная еще с Voodoo Graphics, компания 3dfx указывала в спецификациях на свои продукты "22-битный рендеринг". Однако только сейчас, когда все больше пользователей требуют поддержку 32-битного цвета, 3dfx рассказала что означает их "22-битный рендеринг".
Дело в том, что во всех чипсетах 3dfx есть так называемый постфильтр, который собственно и превращает 16-битный цвет в 22-битный. Почему именно 22-битный - не совсем понятно, скорее всего 3dfx посчитала среднее число цветов, получаемые на реальном изображении, которое выводится на монитор. Рассмотрим методику подробнее.
Конвейер у Voodoo 3 (как и любого из 3dfx) - полностью 32-битный, это означает, что операции с цветом выполняются с точностью 8 бит на канал. Затем 32-битный цвет превращается в 16-битный, который сохраняется во фреймбуфере. Этот процесс называется дизерингом и выполняется на всех платах в 16-битных режимах. Качество выводимой картинки определяется в первую очередь маской дизеринга. Если маска эффективна (на некоторых чипах она размером 4x4 - то есть для рассчета одного пиксела во фреймбуфере используются 32-битные цветовые значения 16-и соседних пикселов), то 16-битное изображение имеет очень хорошее качество с минимумом артефактов. Если плохая - будут видны отдельные пикселы в шахматном порядке.
Хотя каждый пиксел 16-битного фреймбуфера может принимать всего 65 тыс. цветов, при эффективном дизеринге вы не видите бандинга (цветовых переходов) на плавных цветовых градиентах, так как человеческий глаз "перемешивает" пикселы, поэтому видит "почти 32-битный цвет". Причем чем выше разрешение, тем менее заметны артефакты и тем ближе 16-битные режимы по качеству к 32-битному, пока речь не идет о многократном наложении полупрозрачных полигонов.
После того, как во фреймбуфер попадают 16-битные значения, все обычно заканчивается. RAMDAC забирает пикселы и делает из них RGB аналоговый сигнал. Но на чипсетах 3dfx здесь начинается самое интересное. Дело в том, что DAC при преобразовании значения цвета из фреймбуфера в аналоговый RGB выполняет фильтрацию. Эта фильтрация - и есть преобразование в "эффективный 22-битный цвет". Постфильтр использует информацию о цвете соседних пикселов, которые видимо сохраняются в некоем буфере-аккумуляторе. Самое интересное в том, что постфильтр работает асинхронно с ядром рендеринга, так как вывод изображения на монитор, то есть преобразование цифрового сигнала в аналоговый - процесс непрерывный. Если RAMDAC не успеет выдать импульс, соответствующий новому пикселу, то пиксел не покажется вообще.
При разработке новых чипов 3dfx постфильтр постоянно совершенствовался, и в Banshee используется уже третья итерация. В Voodoo 3 применен такой же постфильтр, как и в Banshee. Немного сбивает с толку опция "Use 22-bit output" в PowerStrip. Может сложиться впечатление, что при включенной опции рендеринг 22-битный, а при выключенной - 16-битный. Однако на самом деле при включенной опции фильтрация выполняется по алгоритму Banshee/Voodoo 3, более качественному, но чуть более медленному, а при выключенной - фильтрация по методу Voodoo 2. В обоих случаях постфильтр переводит 16-битный фреймбуфер в пикселы с эффективной глубиной цвета 22 бита.
Ниже я сравню эти два фильтра. Главной проблемой при демонстрации качества фильтрации является необходимость программной эмуляции постфильтра, так как при простом снятии скриншотов вы увидите содержимое фреймбуфера. А оно как я уже сказал отличается от изображения, которое видит пользователь. На сегодня лишь программа HyperSnap способна выполнять обработку скриншотов для эмуляции постфильтра чипсетов от 3dfx.
Страница 4 - 22-битный рендеринг (2)
|