Введение
В компьютерной графике планарный метод – это способ организации пиксельных данных по нескольким битовым плоскостям оперативной памяти. Каждый бит в битовой плоскости соответствует одному пикселю на экране. В отличие от упакованной, высокоцветной или истинноцветной графики, полный набор данных для отдельного пикселя не хранится в одном конкретном месте в оперативной памяти, а распределен по битовым плоскостям, формирующим изображение. Планарная организация определяет, как данные пикселей располагаются в памяти, а не то, как эти данные интерпретируются; пиксельные данные в планарной организации могут кодировать как индексированные, так и прямые цвета. Эта схема возникла на заре развития компьютерной графики. Чипы памяти того времени не могли самостоятельно обеспечить достаточную скорость передачи данных для формирования изображения на экране телевизора или монитора из большого буфера кадров. Разделяя данные на несколько плоскостей, каждую плоскость можно хранить на отдельном чипе памяти. Затем эти чипы могут считываться параллельно с меньшей скоростью, что позволяло отображать графику на нетребовательном оборудовании, таком как игровые консоли третьего и четвертого поколений и домашние компьютеры 80-х годов. Видеоадаптер EGA в ранних компьютерах IBM PC использовал планарную организацию в цветографических режимах по этой причине. Более поздняя VGA включает один непланарный режим, который жертвует эффективностью использования памяти ради более удобного доступа.
Аппаратное обеспечение с плоской графикой
Игровые приставки с плоской организацией дисплея включают Sega Master System и Game Gear, Nintendo NES / SNES и PC Engine. Британский 8-битный компьютер BBC Micro имеет частичные элементы планарной организации пикселей. Словацкий PP 01 включает графический режим с разрешением 256x256 пикселей, основанный на 8-цветной графике и использующий 24 КБ плоскости. 16-битные платформы Atari ST и Amiga 80-х и 90-х годов были полностью основаны на планарной графической конфигурации в сочетании с мощным блиттером. Графический чипсет Amiga OCS работает с 5 битовыми плоскостями, что позволяет использовать 2⁵ = 32 цвета на пиксель, в то время как более поздние модели с чипсетом AGA поддерживают восемь битовых плоскостей (2⁸ = 256 цветов). Для семейства компьютеров Sinclair (Amstrad) ZX Spectrum и совместимых систем в 2019 году было разработано графическое расширение HGFX. В 2022 году оно было реализовано на аппаратном обеспечении на основе FPGA. HGFX обеспечивает организацию памяти, совместимую с оригинальной системой ZX Spectrum, занимая всего 6144 байта оригинальной видеопамяти. Кроме того, он предоставляет два видеобуфера, 256 индексированных цветов, палитру truecolor и выход HDMI. HGFX работает с восемью битовыми плоскостями. В настоящее время он реализован как часть компьютера eLeMeNt ZX.
Преимущества и недостатки
Плоские схемы обеспечивают эффективность использования памяти и времени по сравнению с упакованными схемами при битовой глубине, не являющейся степенью двойки. Например, рассмотрим 3 бита на пиксель (bpp), позволяющие отображать 8 цветов. В случае плоского представления для этого достаточно 3 плоскостей. В упакованном представлении поддержка ровно 3 bpp потребует либо разрешения пикселям пересекать границы байтов (что приведет к замедлению из-за усложнения адресации и распаковки пикселей), либо добавления отступов (что приведет к увеличению объема памяти, так как каждый байт будет хранить 2 пикселя и содержать 2 неиспользуемых бита). Исторически это было одной из причин (хотя и не обязательно главной), по которой в упакованных пикселях использовались битовые глубины, кратные размеру байта. Плоские схемы позволяют быстрее изменять битовую глубину: плоскости добавляются или удаляются, а (если используется индексированная цветовая палитра) палитра расширяется или усекается. Следовательно, поддержку более высокой битовой глубины можно добавить, практически не затрагивая старое программное обеспечение. Простота изменения битовой глубины также позволяет легко комбинировать элементы с разной битовой глубиной. Недостатком плоских схем является то, что для прокрутки и анимации требуется больше циклов обращения к оперативной памяти.