Подбор видеокарты для дизайнерского моделирования
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
рочие неприятности с изображением. Поэтому на видеокарту стараются поместить как можно больше памяти, (это сдерживается только ценой). В первую очередь, в памяти располагается видеобуфер специальный участок памяти, где хранится копия изображения, которое в следующее мгновение будет выведено на экран. В видеобуфере изображение как бы собирается по кускам и отправляется на обработку в RAMDAC. В случае если применяется двойная буферизация (double buffering), в видеобуфере хранится дополнительно предыдущее (тАЬтеневоетАЭ, или тАЬзаднеетАЭ) выведенное на экран изображение (все эти специальные термины будут рассмотрены в разделе, посвященном созданию трехмерного изображения). Наш глаз обладает некоторой инерционностью, то есть некоторое время продолжает видеть изображение, которое уже иiезло. Представьте себе, что все, что рисует видеокарта в видеобуфере, мгновенно попадает на экран. Рисуем линию она рисуется поверх предыдущего изображения. Как бы быстро ни происходил этот процесс, глаз все равно будет замечать, что какие-то части изображения остались, какие-то изменились. Из-за этого игрок заметит крайне неприятное мелькание. Именно поэтому новый кадр сначала рисуется в теневой области видеобуфера (так называемый backbuffer), а затем этот кадр и тот, который был на экране, меняются местами. Благодаря этому создается впечатление гладкого и равномерного движения. Допустим, монитор находится в разрешении 1024х768 и в режиме 32 бита. Это значит, что цвет каждого пикселя определяют 32 бита, а количество всех возможных цветов 232 = 4 294 967 296 четыре с лишним миллиарда. Порог чувствительности человеческого глаза, к слову, немного ниже, то есть такая картинка будет восприниматься как абсолютно реальная (такой режим называется True Color как было отмечено ранее). В режиме 1024х768 на экране отображается 786432 пикселей. Нехитрые подiеты показывают, что для хранения этого кадра в видеопамяти потребуется около 3 Мб. С учетом двойной буферизации получается 6 Мб. Но ведь в современном акселераторе в среднем стоит 128 Мб видеопамяти. Используются они в первую очередь на текстуры. Подгружать текстуры из оперативной памяти, а то и с жесткого диска в процессе рендера неоправданно долго. Поэтому разработчики игр специальными командами дают задание акселератору подгрузить все или хотя бы часть необходимых ему текстур во время загрузки очередной карты или уровня. Средний размер текстуры 1024х1024 при качестве 24 или даже 32 бита. Такая текстура будет занимать в памяти около 4 Мб. Значит, в видеопамять объемом 128 Мб влезет от силы 32 таких текстуры. Один путь подгружать текстуры из оперативной памяти по мере необходимости, но тогда могут случаться задержки, вызывающие падение FPS. Другой путь хранить текстуры в видеопамяти сжатыми, хотя бы простым алгоритмом. Одним из первых алгоритмов сжатия текстур был S3TC, разработанный в компании S3 Inc. Он стал индустриальным стандартом и поддерживается в DirectX, начиная с версии 6.0. Компания 3dfx разработала свой метод сжатия FXT1, который отличается высокой степенью компрессии.
В настоящее время в ходу несколько конкурирующих методов сжатия. Время определит лидера. Кроме того, в видеопамяти размещаются буферы для вспомогательных технологий: Z-буфер (о котором будет упомянуто позже), T-буфер, вспомогательные кадры для анизотропной фильтрации и ряд других. Пара слов о T-буфере. Эта технология была придумана в компании 3dfx и впервые реализована в Voodoo 5. Для одного и того же кадра в видеопамяти хранится четыре копии, немного сдвинутые друг относительно друга. После рендера они совмещаются, в результате чего края объектов немного размываются и устраняется эффект тАЬлесенкитАЭ. T-buffer можно iитать еще одной технологией антиалиасинга. Однако она еще и улучшает качество отрисовки быстро движущихся объектов за iет легкого их размытия. За время существования видеокарт разработчики придумали большое количество типов видеопамяти. Основных подходов два: взять уже существующий тип обычной оперативной памяти или разработать что-то новое, специально тАЬзаточенноетАЭ под хранение графики. Оба подхода были востребованы в разное время и периодически сменяют друг друга. Сейчас, например, в большинстве видеокарт стоит память типа DDR, практически та же самая, что и обычная оперативная память компьютера. Типы видеопамяти, либо по тем или иным причинам не получившие (пока) большого распространения: FPM, EDO DRAM, VRAM, WRAM, RDRAM, SDRAM, SGRAM. В профессиональных видеокартах устанавливаются специальные типы видеопамяти, которые оптимизированы под конкретные задачи, но нам они вряд ли будут интересны. Видеопамять, как и оперативная память, работает на какой-то определенной частоте. Само по себе количество видеопамяти на борту видеокарты не играет практически никакой роли. Если поставить на старенькую Riva TNT 256 Мб видеопамяти, ее производительность не увеличится ни на йоту она просто не сможет с дополнительной памятью полноценно работать.
В видеоподсистеме все должно быть сбалансировано. Однако современные игры с гигантскими текстурами требуют в видеокартах высокого класса установки большого объема видеопамяти до 512 Мб. Видеокарта это отдельное устройство. Первые видеокарты подключались к шине XT-bus через специальный слот. Ему на смену пришел слот ISA. Вскоре его скромных возможностей (16 бит, 8М Гц) стало не хватать, и IBM решила внедрить свою шину и слот для видеокарт и не только под названием MCA (Microchannel Architecture микроканальная архитектура). Однако затея благополучно провалилась, потому что IBM пожадничала и решила сделать эту шину лицензируемой