Планарність (комп'ютерна графіка)

комп'ютерна графіка

Планарність у комп'ютерній графіці — це метод впорядкування піксельних даних у декілька бітових площин в оперативній пам'яті. Кожний біт у бітовій площині пов'язаний з одним пікселем на екрані. На відміну від графіки Chunky[en], High color[en] або Truecolour, всі дані для окремого пікселя не знаходяться в окремому конкретному місці в оперативній пам'яті, а розташовані на бітових площинах, з яких складається дісплей.

Поєднання чотирьох однобітових площин дає 4 біти на піксель, що відповідає 16-кольоровому зображенню

Ця схема виникла при створенні комп'ютерної графіки, коли пам'ять чипів не могла постачати інформацію достатньо швидко, щоб можна було створити зображення на екрані телевізора або монітора з великим відеобуфером[1]. Якщо розділити дані на кілька площин, тоді кожна площина може зберігатись на окремому чипі пам'яті. Потім ці чипи можуть бути прочитані паралельно з меншою швидкістю, що дозволяє невибагливому апаратному забезпеченню відображати графіку. З цієї причини вдосконалений графічний адаптер ранніх версій комп'ютерів IBM PC використовував площинне розташування в кольорових графічних режимах. Пізніше, коли була представлено відеоадаптер VGA, він мав непланарний режим[en], який жертвує ефективністю пам'яті заради зручнішого доступу[2].

Приклади ред.

На Chunky[en]-дисплеї з 4 бітами на піксель і палітрою RGBI[en] кожен байт представляє два пікселі з 16 різними кольорами, доступними для кожного пікселя. Чотири послідовних пікселя зберігаються в двох послідовних байтах наступним чином:

Байтовий індекс 0 1
Байтове значення (десяткове) 1 35
Байтове значення (шістнадцяткове) 0x01 0x23
Значення (в двійковій системі) 0000 0001 0010 0011
Значення (в десятковій системі) 0 1 2 3
Наслідковий піксель Чорний Синій Зелений Ціановий

Наприклад, у стислому форматі зберігання пікселів, кожен байт дорівнює одному пікселю. Три пікселя в рядку зберігалися б в наступним чином, з доступними 256 кольорами:

Індекс байту 0 1 2
Значення (в двійковій системі) 00000000 00000001 00000010
Значення (в десятковій системі) 0 1 2
Наслідковий піксель Чорний Синій Зелений

Для прикладу, при планарній структурі даних можна використовувати 2 бітові площини, що забезпечує 4-кольоровий дисплей. Вісім пікселів будуть зберігатися в пам'яті у вигляді 2 байтів, які не розташовані поруч:

Індекс байту 0
Індекс біту 0 1 2 3 4 5 6 7
Площина 0 1 0 0 0 0 0 1 0
Площина 1 0 0 0 1 0 0 1 0
Наслідковий піксель 1 0 0 2 0 0 3 0
Значення байту 146

Додавання третьої площини зробить доступними 23=8 кольорів. Там, де потрібно менше, ніж 256 кольорів, площинна графіка займає найменше місця в ОЗП, у порівнянні з 8-бітним стислим форматом зберігання пікселів, тому, що немає невикористаних бітів в заданому байті.

Недоліком площинної графіки є те, що потрібно більше адресних циклів ОЗП для прокрутки та анімацій, хоча ці операції пожуть бути прискорені за допомогою спеціалізованих апаратних засобів, таких як чипи блітеру, які використовуються в Amiga, і деяких пізніших версіях комп'ютерів Atari ST.

Переваги та недоліки ред.

Планарні розташування пропонують ефективність простору та часу над упакованими аранжуваннями на розрядній глибині, яка не має ступеня 2. Як приклад, розглянемо 3 глибину кольору, дозволяючи 8 кольорів. З площинним розташуванням для цього просто потрібні 3 площини. З упакованими механізмами підтримка рівно 3 глибини кольору вимагатиме або дозволу пікселям перетинати межі байтів (що спричиняє витрати часу через ускладнення з адресацією та розпаковуванням пікселів), або заповнення (нести витрати на простір, оскільки кожен байт зберігатиме 2 пікселі та матиме 2 невикористаних біта); історично це одна з причин (хоча не обов'язково основна) — у упакованих пікселях використовується бітова глибина, яка рівномірно вписується в байти.

Площинні розташування дозволяють швидше перемикати глибину розрядів: площини додаються або відкидаються і (якщо кольори індексовані) палітра розширена або урізана. Отже, підтримка більшої глибини розрядів може бути додана, майже не впливаючи на старе програмне забезпечення. Простота перемикання по бітовій глибині також дозволяє легко використовувати разом елементи різної глибини розрядів.

Недоліком планарного розташування є те, що для прокручування та анімації потрібно більше циклів адреси оперативної пам'яті.

Див. також ред.

Посилання ред.

  1. Rogers, David F. (1985). Procedural Elements for Computer Graphics. McGraw-Hill. с. 13. ISBN 0-07-053534-5.
  2. VGA Hardware - OSDev Wiki. wiki.osdev.org. Процитовано 14 червня 2021.