RAMDAC

принципы работы и параметры

В последнее время, многих интересовал вопрос, почему производители видеоадаптеров на базе чипсета i740 в спецификациях к своим платам указывают разные частоты RAMDAC. Например, для платы Asus V2740 заявлено значение 205 MHz, а у платы Real3D StarFighter заявлено значение 220 MHz. В данной статье мы попытались дать ответ на это вопрос, а также пояснить принципы работы RAMDAC и дать некотрые рекомендации.

RAMDAC в чипсете i740 (равно как и во всех других графических чипсетах) имеет два режима работы. В первом режиме чипсет оперирует данными цветовой гаммы или палитры (palletized data). В этом режиме 8 битные данные конвертируются в RGB цвета. Каждому из 256 возможных значений цвета соответствует положение в цветовой палитре, которая размещается в DAC (цифро-аналоговый преобразователь). Цветовая палитра формируется и хранится в RAM (память с произвольной выборкой) - отсюда и название RAMDAC - и может быть загружена с любой комбинацией цветов. Каждый раз, когда новый пиксел передается в DAC для отображения на экране, значение передаваемых данных используется в качестве указателя на положение в палитре, информация из палитры, используется в качестве значения цвета для DAC. Палитра, хранящаяся в RAM, имеет 256 позиций, каждая из которых хранит 24 бита данных о цвете, по 8 бит для каждого из трех основных составляющих цветов Red, Green и Blue. Емкость RAM соответстует значению 256 х 24 = 6144 бит или 768 байт. Для RAM используется стандартная память, изготовленная по технологии DRAM и интегрированная вместе с графическим контроллером и DAC в одну микросхему, иначе говря - в один силикон (кремний).

Кстати, технология включения RAM для DAC в графический чипсет не имеет никакого отношения к так называемой Embedded RAM (Встраиваемая память). Последняя используется в качестве локальной памяти (Local Memory), так же называемой буфером кадра. Некоторые графические чипсеты от C&T и NeoMagic имеют 1 или 2 Мб памяти, интегрированный в одну микросхему вместе с графическим контроллером и DAC. Однако, современные 3D графические контроллеры должны иметь не менее 8 Мб памяти для буфера кадра, а интегрировать такие объемы памяти пока не позволяет существующая технология. Так что в высокопроизводительных графических чипсетах пока не будет применятся технология встраиваемой памяти. Технология Embedded RAM расчитана на недорогие или портативные решения (когда энергопотребление и габариты важнейшие параметры).

Скорость работы RAM (в случае с чипсетом i740), при взаимодействии с DAC ограничена 205 MHz, в результате чего данные палитры не могут отображаться с частотой, большей, чем 205 MHz.

Во втором режиме RAMDAC оперирует цветовыми данными. В этом режиме (при 16, 24 или 32 бит представлении цвета) данными является RGB цвет. Например, при 16 битном представлении цвета, 5 бит определяют красный (Red), 6 бит зеленый (Green) и 5 бит синий (Blue) цвета. Для зеленого цвета используется больше бит, так как человечиский глаз более чувствителен к зеленому. При 24 или 32 бит представлении цвета, для каждого из цветов используется по 8 бит данных. В этом режиме данные, определяющие цвет, передаются непосредственно в DAC без использования RAM, т.е. не используются загружаемые палитры и данные передаются напрямую из видеопамяти. Так как RAM не задействована, то нет и ограничения в 205 MHz для частоты, на которой работает DAC. Единственным ограничением является максимально возможная скорость работы DAC, в случае с чипсетом i740 это значение 220 MHz.

Выбор режима работы RAMDAC происходит так: операционная система Windows95/98/NT или приложение сообщает о требуемом режиме драйверу видеоадаптера, который и переводит RAMDAC в один или другой режим работы. Утилита управления режимами монитора (Display Control Panel) в Windows предоставляет возможность выбора между 8, 16 или 24/32 бит представлением цвета. Это и есть способ, с помощью которого Windows выбирает режим работы RAMDAC. Приложение, которое запускается на полный экран может устанавливать любой, требуемый ему режим, главное, чтобы этот режим поддерживался видеоадаптером.

Операционная система или драйвер делают запрос, чтобы определить разрешение, глубину цвета и частоту обновления экрана. Драйвер может либо реализовать полученный ответ, либо вернуть сообщение, о том, что запрошенный режим не поддерживается или невозможен. В этом случае операционная система или приложение должны попробовать запросить установки другого видеорежима.

Выбор режима работы RAMDAC никак не связан с типом используемой видеопамяти.

Выбор режима, в которм работает RAMDAC, зависит от количества возможных цветов. DAC имеет разрядность 8*8*8 бит, т.е. по 8 бит на каждый RGB цвет, что соответствует способности отображать 16777216 (16М) цветов. При 8 битном представлении цвета, для палитры может использоваться 256 из 16 миллионов возможных цветов. При использовании данных цветовой гаммы (палитры), активными являются только 256 цветов, которые могут отображаться на экране в любой произвольно выбранный момент времени. Впрочем, палитра может быть изменена приложением в любой момент. При 8 битной глубине представления цвета, за загрузку палитры отвечает каждое приложение. При 16 битном цвете, имеется фиксированный набор цветов и для отображения могут использоваться любые цвета из 65536 (64К) доступных. При 24 или 32 битном цвете, DAC может отображать любой из 16 миллионов (16М) возможных цветов.

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

Для 16 битного представления цвета требуется в два раза больше памяти, чем для 8 битного, а для 32 битного представления цвета требуется в два раза больше памяти, чем для 16 битного. В связи с тем, что графические адаптеры имеют ограниченные объемы памяти, экономия этого ресурса становится одной из приоритетных задач. Ко всему прочему, отображение 32 битных данных зачастую происходит дольше, чем отображение 16 битных данных. А это уже относится к проблеме производительности, о чем тоже не стоит забывать. Именно поэтому обычному поьзователю стоит использовать 16 битное представление цвета в Windows95/98/NT.

Пользователь или приложение выбирают тот режим представления цвета, который для них наиболее удобен. Текстовый процессор, электронная таблица и 2D игры могут прекрасно работать в режиме 8 битного представления цвета. Видеофильмы, 3D игры и 3D приложения обычно используют 16 битный режим представления цвета, в качестве компромисса между качеством изображения и производительностью. При использовании программ для просмотра высококачественных фотографий, их редактирования, а так же приложений для создания графики лучше всего использовать 24/32 битное представление цвета.

Как же узнать, в каком режиме работает RAMDAC? Если Вы используете Windows, то у Вас есть возможность выбрать глубину представления цвета между режимами 8, 16 или 24/32 бит. В 8 битном режиме используется палитра, т.е. RAMDAC работает со скоростью 205 MHz, во всех других режимах, с другой глубиной представления цвета, палитра не используется и RAMDAC работает со скоростью 220 MHz. Если запускается на выполнение приложение, работающее в полноэкранном режиме (например, в таком режиме работают большинство игр), то тогда само приложение определяет, в каком режиме будет работать RAMDAC. Иногда приложение выбрав режим работы сообщает эту информацию пользователю. Но в большинстве случаев такого не происходит.

Пользователь может узнать, в каком режиме работает RAMDAC, проделав следующие действия: Найдите поверхность, в которой есть плавный переход от одного цвета к другому (как, например в небе у вас над головой). Если переход от одного цвета к другому выглядит так, будто состоит из перемежающихся точек, сильно отличающихся по цвету, значит ваше приложение работает в 8 битном режиме представления цвета. В противном случае, т.е. если переход от одного цвета к другому действительно плавный, ваше приложение работает с другой глубиной представления цвета. При этом, не лишне еще раз напомнить, что средний пользователь не может с уверенностью опредилить, с какой глубиной представления цвета он имеет дело, с 16 или 24/32 бит.

Удостовериться, что заявленные значения скорости работы RAMDAC правда - достаточно просто. Если известно, в каком разрешении вы работаете, например 1024х768, и с какой частотой происходит обновление изображения (refresh rate), например 75 Hz, значит можно узнать какова скорость работы DAC. Скорости в 220 MHz вполне достаточно для отображения в режимах 1280х1024 при 85 Hz и 1600х1200 при 75 Hz. Для режима 1600х1200 при 85 Hz требуется скорость в 250 MHz. Известно, что по Европейским стандартам во всех разрешениях должна поддерживаться частота обновления экрана в 85 Hz, однако лишь немногие модели современных мониторов могут работать в режиме 1600х1200 при 85 Hz.

Напомним известные факты: если частота обновления экрана слишком низкая, то пользователю будет заметно мерцание изображения, в следствии чего можно испортить зрение. Частота обновления экрана в 75 Hz уже достаточно быстрая, что бы глаз человека мог заметить мерцание. Поэтому, гораздо более разумно сосредоточить внимание на значениях частоты обновления изображения, а не на скорости работы DAC, тем более, что эти значения взаимосвязаны.

Итак, вернемся к вопросу о том, почему разные производители видеоплат на чипсете i740 указывают разные значения скорости RAMDAC. Теперь мы все точно знаем, что любой RAMDAC имеет два режима работы и, соответственно, две разные скорости. Производители видеоплат всегда, исходя из маркетинговых соображений и, что бы не забивать головы покупателей разными цифрами, указывали в спецификациях максимальную частоту работы RAMDAC. Почему же некоторые из производителей плат на i740 стали использовать более низкие значения скорости RAMDAC? Может быть у них в распоряжении урезанные драйверы или биосы, разрешающие работу RAMDAC только в режиме с использованием палитры? Ответ прост и банален. Обычная ошибка маркетологов, плохо понимающих, что производит и продает их компания. Кстати, к этому приложила руку и корпорация Intel, снабдив производителей неполными данными, а те, в свою очередь не стали вдаваться в технические подробности. И действительно, чего тут думать, чипсет есть, значит можно и плату сделать. Вот все кому не лень и стали этим заниматься. Правда, не случись такой ошибки, так бы все пользователи и думали, что RAMDAC работает всегда с одной скоростью. А потребитель может сделать вывод о компетентности производителя. Если указанное значение RAMDAC у платы на базе i740 равно 205 Mhz (или еще более меньшей цифре), значит производителей этого акселератора плохо понимает, о чем вообще идет речь.

Кстати, лично нам пока известны только два производителя, которые точно знают, что такое RAMDAC - это компании Real3D и Gigabyte.

Итак, еще раз подчеркнем: все чипсеты i740 абсолютно одинаковы и имеют интегрированный RAMDAC, работающий в двух режимах. Максимальная скорость RAMDAC чипсета i740 равна 220 MHz, а минимальная (в режиме работы с данными палитры) соответствует 205 MHz .

Вообще же, обычно RAMDAC в обоих режимах работает с одинаковой скоростью. В новой ривизии i740, RAMDAC будет иметь частоту 230 МГц во всех режимах. Кстати, а Вам известно, какую вторую, возможно более медленную, скорость работы имеет RAMDAC на вашей видеоплате?