Разное

Страница видеопамяти: Страница видеопамяти составляет 32 000 байтов.. — Кодирование графической информации

16. Страница видеопамяти составляет 16000 байтов. Дисплей работает в режиме 320*400 пикселей. Сколько цветов в палитре? (Задание 3,Тест I-6) Решение:

1.V=I*X*Y– объем одной страницы,V=16000 байт = 128000 бит по условию. Найдем глубину цветаI.

I=V/(X*Y).

I= 128000 / (320*400)=1.

2.Определим теперь, сколько цветов в палитре.K=2I , где K– количество цветов,I– глубина цвета. K=2

Ответ: 2 цвета.

17. Сканируется цветное изображение размером 10´10 см. Разрешающая способность сканера 600 dpi и глубина цвета 32 бита. Какой информационный объем будет иметь полученный графический файл. (2.44, [3], аналогично решается задача 2.81 [3])

Решение:

1. Разрешающая способность сканера 600 dpi (dot per inch — точек на дюйм) означает, что на отрезке длиной 1 дюйм сканер способен различить 600 точек. Переведем разрешающую способность сканера из точек на дюйм в точки на сантиметр:

600 dpi: 2,54»236 точек/см (1 дюйм = 2.54 см.)

2.Следовательно, размер изображения в точках составит 2360´2360 точек. (умножили на 10 см.)

3.Общее количество точек изображения равно:

2360´2360 = 5 569 600

4.Информационный объем файла равен:

32 бит ´5569600 = 178 227 200 бит»21 Мбайт

Ответ: 21 Мбайт

18. Объем видеопамяти равен 256 Кб. Количество используемых цветов -16. Вычислите варианты разрешающей способности дисплея. При условии, что число страниц изображения может быть равно 1, 2 или 4. ([1], №64, стр. 146)

  1. Если число страниц равно 1, то формулуV=I*X*Yможно выразить как

256 *1024*8 бит = X*Y*4 бит, (так как используется 16 цветов, то глубина цвета равна 4 бит. )

т.е. 512*1024 = X*Y; 524288 =X*Y.

Соотношение между высотой и шириной экрана для стандартных режимов не различаются между собой и равны 0,75. Значит, чтобы найти XиY, надо решить систему уравнений:

Выразим Х=524288/ Y, подставим во второе уравнение, получимY2 =524288*3/4=393216. НайдемY≈630;X=524288/630≈830

Вариантом разрешающей способности может быть 630 х 830.

2. Если число страниц равно 2, то одна страница объемом 256:2=128 Кбайт, т.е

128*1024*8 бит = X*Y*4 бит, т.е. 256*1024 =X*Y; 262144 =X*Y.

Решаем систему уравнений:

Х=262144/ Y;Y2 =262144*3/4=196608;Y=440, Х=600

Вариантом разрешающей способности может быть 600 х 440.

4.Если число страниц равно 4, то 256:4 =64; 64*1024*2=X*Y; 131072=X*Y; решаем систему

X=131072/Y;Y2 =131072*3/4=98304;Y≈310,X≈420

Ответ: одна страница — 630 х 830

две страницы — 600 х 440

три страницы – 420 х 310

19. Часть страниц многотомной энциклопедии является цветными изображениями в шестнадцати цветовой палитре и в формате 320 ´ 640 точек. Страницы, содержащие текст, имеют формат — 32 строки по 64 символа в строке. Сколько страниц книги можно сохранить на жестком магнитном диске объемом 20 Мб, если каждая девятая страница энциклопедии — цветное изображение? (2.89,

[3])

Решение:

  1. Так как палитра 16 цветная, то глубина цвета равна 4 (2 4 =16)

  2. 4 ´320´640 = 819200 бит = 102400 байт =100 Кбайт – информации содержит каждая графическая страница.

  3. 32 ´64 = 2048 символов = 2048 байт = 2 Кбайт – содержит каждая текстовая страница.

  4. Пусть Х — число страниц с графикой, тогда так как каждая 9 страница – графическая, следует, что страниц с текстом в 8 раз больше, т.е. 8Х — число страниц с текстом. Тогда все страницы с графикой будут иметь объем 110Х, а все страницы с текстом – объем 2* 8Х=16Х.

  5. Известно, что диск составляет 20 Мб = 20480 Кб. Составим уравнение:

100Х + 16Х = 20480. Решив уравнение, получим Х ≈ 176, 5. Учитывая, что Х –целое число, берем число 176 –страниц с графикой.

  1. 176*8 =1408 страниц с текстом. 1408+176 = 1584 страниц энциклопедии.

Ответ: таким образом, на жестком магнитном диске объемом 20 Мб можно разместить 1584 страницы энциклопедии (176 графических и 1408 текстовых).

    1. Определение разрешающей способности экрана и установка графического режима экрана.

Видеопамять. Сколько ее нужно и для чего (ликбез).

                Для работы видеокарте требуется довольно много памяти: это пара буфе­ров экрана (во время отображения одного буфера в другом строится новый кадр), Z-буфер, a-буфер (может вписываться в видеопамять), и память для хранения текстур (да еще и во многих экземплярах для mip map).

  В режимах 8, 16 и 24 бит на пиксел также используется линейная органи­зация, но каждый байт (слово или три байта) отвечает уже за цвет одного пиксела. Многоплоскостная организация здесь уже была бы неэффективной. Вышеописанные варианты организации видеопамяти  —  и линейный, и мно­гоплоскостной  —  представляют собой отображение матрицы пикселов экрана на биты видеопамяти  —  Bit Mapping. Растровый формат хранения изображений, при котором биты так или иначе отображают пикселы, называется битовой кар­той (BitMap). С точки зрения плотности хранения графической информации этот формат не самый эффективный, но в видеопамяти растрового дисплея вследствие высокого темпа вывода информации при регенерации изображения иной формат неприемлем. Объем видеопамяти (в битах), требуемый для хранения образа экрана, оп­ределяется, как произведение количества пикселов в строке на количество строк и на количество бит на пиксел. Если физический объем видеопамяти превышает необходимый для отображения матрицы всего экрана, видеопамять можно разбить на страницы.
Страница  —  это область видеопамяти, в которой умещается образ целого экрана. При многостраничной организации видеопамя­ти только одна из них может быть активной —  отображаемой на экран.

Скорость, с которой информация поступает на экран, и количество информации, которое выходит из видеоадаптера и передается на экран — все это зависит от трех факторов:

 — разрешение вашего монитора;

 — количество цветов, из которых можно выбирать при создании изображения;

 — частота, с которой происходит обновление экрана.

Разрешение определяется количеством пикселов на линии и количеством самих линий. Поэтому, на дисплее, например, с разрешением 1024х768, изображение формируется каждый раз при обновлении экрана из 786432 пикселов информации.

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

                Число допускающих воспроизведение цветов или глубина цвета это десятичный эквивалент двоичного значения количества битов на пиксел. Так, 8 бит на пиксел эквивалентно 256 цветам, 16 битный цвет, часто называемый просто high-color, отображает более 65000 цветов, а 24 битный цвет, также известный, как истинный или true color, может представить 16.7 миллионов цветов. 32 битный цвет, с целью избежать путаницы, обычно означает отображение истинного цвета с дополнительными 8 битами, которые используются для обеспечения 256 степеней прозрачности. Так, в 32 битном представлении каждый из 16.7 миллионов истинных цветов имеет дополнительные 256 степеней доступной прозрачности. Такие возможности представления цвета имеются только в системах высшего класса и графических рабочих станциях.

                Так как компьютер все больше становится средсвом визуализации, с более лучшей графикой, а графический интерфейс пользователя становится стандартом, пользователи хотят видеть больше информации на своих мониторах. Мониторы с диагональю 17 дюймов становятся стандартным оборудованием и разрешение 1024х768 пикселов адекватно заполняет экран с таким размером. Некоторые пользователи используют разрешение 1280х1024 пикселов на 17 дюймовых мониторах и более.

                В обычной графической подсистеме для обеспечения разрешения 1024×768 требуется 1 Мегабайт памяти. Несмотря на то, что только три четверти этого объема памяти необходимо в действительности, графическая подсистема обычно хранит информацию о курсоре и ярлыках в буферной памяти дисплея (off-screen memory) для быстрого доступа. Пропускная способность памяти определяется соотношением того, как много мегабайт данных передаются в память и из нее за секунду времени. Типичное разрешение 1024х768, при 8 битной глубине представления цвета и частоте обновления экрана 75 Hz, требует пропускной способности памяти 1118 мегабайт в секунду. Добавление функций обработки 3D графики требует увеличения размера доступной памяти на борту видеоадаптера.

Дополнительная память, сверх необходимой для создания изображения на экране, используется для z-буфера и хранения текстур.

                Z-буферизация — изначально эта технология применялась в системах автоматизирован­ного проектирования. В двумерном мире объекты не могут располагаться впереди или позади друг друга, поэтому нет проблем с перекрытием. Но в трехмерном мире один объект может находиться впереди другого. Обычно световые лучи не проникают через непрозрачные объекты, поэтому мы видим все, что находится впереди, и не видим того, что позади. Когда два объекта перекрываются, нужно выяснить, какой из них находится впереди, чтобы знать, какие пиксели объекта нужно показать на дисплее. Область, в которой пересекаются две фигуры,  можно описать, указав для каждого пиксела фигур величину расстояния от него до условного заднего плана. Если дополнить обычную видеопамять картой этих расстояний для каждого пикселя, то будет всегда известно, нужно ли закрашивать конкретный пиксель: если значение расстояния (или значение Z) у пикселя меньше, значит, он позади и его не нужно закрашивать.

                Эту идею можно реализовать аппаратно. Решение, состоит в создании параллельно с памятью дисплея другого массива памяти, называемого  Z-буфером. Каждый раз при записи пикселя вычисляется его значение Z. При этом записываются только пиксели с большими значениями Z и обновляются расстояния в Z-буфере. Все остальные пикселы игнорируются. Таким образом, в каждой ячейке Z-буфера хранится расстояние по оси Z (вглубь экрана) для рисуемого пиксела, поэтому легко проверить, затенен ли новый записываемый пиксель или нет.  Z-буфер требует дополнительной памяти, и, чем большая точность нужна для значений  Z, тем больше памяти нужно для запоминания значений Z. Если используется разрешающая способность 640х400 и значения Z в виде 16-разрядных (двухбайтовых) чисел, то нужно иметь 0,5 мегабайта памяти только для Z-буфера. С помощью Z-буфера можно легко решить, какие объекты расположены на переднем плане, но при этом понадобится вдвое больший объем видеопамяти. Почти все современные 3D-ускорители имеют 24-х или 32-битную Z-буферизацию, что в значительной мере повышает разрешающую способность и, как следствие, качество рендеринга.

                Текстуры высокого разрешения занимают ог­ромное место в памяти. Например, тек­стура размером 1024х1024 пиксела при глубине цветности 16 бит достига­ет объема 2 Мбайт. Учитывая широкое распространение игр с глубиной цвет­ности 32 бит (текстура 2048х2048, 32 бит, занимает 16 Мбайт), становится понятным, что никакой видеопамяти, при сложности сцены хотя бы в 10 000 полигонов, не хватит.

                Закрашивание поверхностей производится сразу, как только получен набор двумерных многоугольников. На поверхность каждого из них накладывается теневая карта текстуры. Схемотехника быстро развивалась и сегодня обычно обес­печивается разрешение 1600х1200 точек при 32-битном цвете на частоте 75-85 Гц. При 24-битном кодировании цвета от двойного слова (32 бит), выделяемого на пиксел для упрощения адреса­ции и ускорения обмена, как раз остается 8 бит. Эти биты используются для хранения 8-битного коэффициента прозрачности для каждого пиксела, который используется для модификации цвета пиксела видеопамяти (такой формат видеопамяти на­зывают RGBA).

                В общем случае существуют два значения цвета  — первый для того образа, который «ближе», и второй —  для того, что «дальше» (по Z-параметру). Результирующий цвет определяется обо­ими значениями и свойством «прозрачности» ближнего. Для получения нового значения цвета обычно используют так называемый альфа-блондина (Alpha-blending). Мерой прозрачности объекта является коэффициент а (0 < а < 1), еди­ница соответствует полной непрозрачности. Результирующий цвет пиксела вы­числяется по соответствующей формуле, причем за этой формулой сто­ит в три раза больше операций, поскольку цвет определяется тремя значениями базисных цветов (R, G и В). Для реализации дан­ного метода требуется и свой альфа-буфер с количеством ячеек, по меньшей мере, равным числу пикселов на экране.

                В архитектуре процессоров Skylake для встроенной графики была реализована новая (128 Мбайт и 512-битной шиной), полностью когерентная структура встроенной DRAM (eDRAM), или Memory Side Cache, способная кэшировать любые данные, включая варианты «некэшируемой памяти», без необходимости очистки для поддержания когерентности, и доступной для использования устройствами ввода-вывода и формирования выходного видеосигнала. Помимо этого графическая подсистема для достижения оптимальной производительности может выбрать режим кэширования определённых данных только в eDRAM без использования кэш-памяти L3. В отличие от предыдущей архитектуры, где примерно четверть кэш-памяти L3 (1) использовалась для доступа к eDRAM, и при этом eDRAM не имела возможности прямого взаимодействия с остальной системой (на слайде ниже, в верхней части), в архитектуре Skylake контроллер eDRAM переместился в модуль системного агента, освободив таким образом порядка 512 Кбайт ёмкости кэша L3 (2) и одновременно с этим облегчив доступ другим компонентам ядра к данным в eDRAM. Отныне Memory Side Cache может взаимодействовать с основной системной памятью напрямую, обеспечивая таким образом обновление экрана без необходимости вывода остальных компонентов процессора из ждущего режима. А процессоры Kaby Lake будут иметь eDRAM 256 Мбайт.

 

 

 

Ресурсы видеопамяти подкачки

— драйверы Windows

Обратная связь Редактировать

Твиттер LinkedIn Фейсбук Эл. адрес

  • Статья
  • 2 минуты на чтение

В отличие от модели драйвера дисплея Microsoft Windows 2000, модель драйвера дисплея Windows Vista позволяет создавать больше ресурсов видеопамяти, чем общий объем доступной физической видеопамяти, которые затем загружаются и извлекаются из видеопамяти по мере необходимости. Другими словами, не все ресурсы видеопамяти одновременно находятся в видеопамяти.

Графический процессор может иметь несколько буферов DMA в своем конвейере. Ресурсы видеопамяти, на которые ссылаются эти активные буферы DMA, должны находиться в видеопамяти. Другие неиспользуемые ресурсы видеопамяти могут быть выгружены в системную память.

Прежде чем планировщик GPU сможет вызвать функцию DxgkDdiSubmitCommand драйвера минипорта дисплея для передачи буфера DMA в GPU, планировщик должен убедиться, что все ресурсы видеопамяти, используемые буфером DMA, фактически находятся в видеопамяти. Если некоторые ресурсы не находятся в видеопамяти, они должны быть загружены из системной памяти. Планировщик GPU должен обратиться к диспетчеру видеопамяти, чтобы найти место в видеопамяти для передачи необходимых данных о ресурсах видеопамяти из системной памяти в видеопамять. Когда требования к видеопамяти высоки, планировщик графического процессора должен обратиться к диспетчеру видеопамяти для передачи данных о ресурсах видеопамяти бездействующих ресурсов в системную память, чтобы освободить место для требуемых данных о ресурсах видеопамяти. Буферы DMA специального назначения, содержащие команды для передачи данных между видео и системной памятью, называются буферами подкачки. Диспетчер видеопамяти вызывает драйвер минипорта дисплея 9.0024 Функция DxgkDdiBuildPagingBuffer для создания буферов подкачки, в которые драйвер записывает аппаратно-зависимые команды передачи данных.

Обратная связь

Отправить и просмотреть отзыв для

Этот продукт Эта страница

Просмотреть все отзывы о странице

Пейджинг в видеопамяти — BeebWiki

BBC Master, Aries-B20 и B-32, Integra-B и Watford 32 RAM карта имеет память теневого экрана. Следующий код (взято из ХАДФС [1] и HostFS [2] ) будет пейджинг или прозрачно извлекайте видеопамять, используя соответствующий вызов OSBYTE для выполнения так.

 \ Подпрограммы выбора экрана
 \ ==========================
 \ При входе A=0 - выбрать основную память
 \ A=1 - выбор видеопамяти
 \ При выходе все регистры повреждены
 \
 .vramSelect
 PHA:TAX :\ A=0 основная RAM, A=1 видео RAM
 LDA #108:JSR OSBYTE :\ Попытка выбрать видеопамять Master/Integra-B
 PLA:INX:BNE vramOk  :\ X<>255, успешно
 EOR #1: TAX :\ A=1 основная RAM, A=0 видео RAM
 LDA #111:JMP OSBYTE  :\ Попытка выбрать видеопамять Aries/Watford
 .vramOk
 РТС
 

Используя этот код, файловая система или другой код могут выборочно получить доступ к основному или видеопамять по стандарту &FFFFxxxx, &FFFExxxx и &FFFDxxxx диапазоны адресов.

 \ Решите, в какую локальную память передавать данные
 \ --------------------------------------------------
 \ При вводе DADDR+0...DADDR+3=адрес передачи данных
 \ A=&Fx - прочитать (загрузить) данные
 \ A=&Ex - записать (сохранить) данные
 \
 LDX &27A:BPL TransIO :\ Без трубки
 LDX DADDR+3  :\ Проверить адрес передачи &XX------
 INX:BNE TransTube  :\ Наличие трубки, ADDR<&FFxxxxxx
 . ТрансИО
 И #&F0:PHA  :\ Флаг принудительной передачи, b7=1 для передачи ввода-вывода
 LDX DADDR+2  :\ Получить адрес &--XX----
 INX:BEQ TransIOGo  :\ &FFFFxxxx - текущая память ввода-вывода
 INX:BEQ TransIODisplay  :\ &FFFExxxx — использовать текущую память дисплея
 INX:BEQ TransIOSShadow :\ &FFFDxxxx - теневая память
 BNE TransIOGo  :\ Not &FFFDxxxx — использовать текущую память ввода-вывода
:
 .TransIODisplay
 LDA #&84:JSR OSBYTE
 TYA:BPL TransIOGo  :\ Не отображается теневой экран
 .TransIOSShadow
 LDA #1:JSR vramSelect  :\ Страница в теневой памяти
 PLA:ORA #1:PHA :\ Установить b0 для экрана, страницы в видеопамяти
:
 .TransIOGo
 \ В этот момент байт в стеке содержит
 \ &E0 - загрузка в текущую память
 \ &E1 - загрузка в экранную память
 \ &F0 - сохранение из текущей памяти
 \ &F1 - сохранение из памяти экрана
 \ т.е. b7=1 - память ввода-вывода, b4=сохранение/загрузка, b0=основная/видеопамять
 \
 \
 \ Выполните перенос памяти ввода-вывода здесь
 \
 \
 .TransExitDone
 PLA:BPL TransExitRelease  :\ Флажок переноса всплывающего окна, b7=0 — выпуск трубки
 ROR A:BCS TransExitScreen :\ b0=1, выпуск экрана
 РТС
 . TransExitRelease
 JMP TubeRelease :\ Release Tube, возврат
 .TransExitScreen
 LDA #0:JMP vramSelect  :\ Страница в основной памяти, возврат
 \
 .TransTube
 CLC:ADC #&10:ROL A  :\ Cy=1/0 для загрузки/сохранения
 LDA #0:ADC #0:PHA :\ A=1/0 для загрузки/сохранения
 JSR TubeAction :\ Заявить Tube и начать передачу
 \ В этот момент байт в стеке содержит
 \ &1 - загрузка в трубу
 \&0 - сохранение из Tube
 \ т.е. b7=0 - Ламповая память
 \
 \
 \ Трансфер на метро здесь
 \
 \
 JMP TransExitDone  :\ Перейти к релизу Tube
 

Electron

В настоящее время это не проверено, но похоже, что это эквивалентный код для Electron

 \ Процедура выбора электронного экрана
\ ==================================
\ При входе A=0 - выбрать основную память
\ A=1 - выбор видеопамяти
\ На выходе A поврежден, X, Y сохранены
\
 .vramSelect
ROR A  :\ Переместить выделение в бите 0 в Carry
LDA &027F:BPL vramOk  :\ Нет теневого ОЗУ
ROR A:STA &FC7F  :\ Переместить перенос A в бит 7, установить флаг пейджинга
.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *