Машинно-зависимые языки в компьютерной графике - Студенческий научный форум

XI Международная студенческая научная конференция Студенческий научный форум - 2019

Машинно-зависимые языки в компьютерной графике

Абсатаров Р.Н. 1, Абрамова О.Ф. 1
1Волжский политехнический институт (филиал) ВолгГТУ
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

В некоторых случаях от ЭВМ, обладающей низкой производительностью, требуются такие ресурсоемкие операции, как построение изображений и вывод графической информации. В таких ситуациях используется машинно-ориентированный подход, позволяющий задействовать все ее аппаратные возможности.

Программы, написанные на низкоуровневых языках, обладают высокой эффективностью, поскольку создаются под определенную ЭВМ и должны задействовать все особенности системы. Они дают программисту широкие возможности, накладывая в то же время ряд ограничений. Их применение рационально в том случае, когда необходима максимальная компактность и производительность, и практически бесполезно, когда программы становятся громоздкими, многоуровневыми или требуют решения специфических объектно-ориентированных задач.

Подобные ограничения по аппаратной части были особенно остры в прошлом веке, когда речь заходила о построении изображения или создания анимации для первых поколений игровых систем, таких как NES 1983 года, Atari 2600, для самого продаваемого на сегодняшний день компьютера Commodore 64, а также систем вроде Apple II. Использование машинно-зависимых языков для построения изображения в таких системах обуславливается весьма и весьма скромными аппаратными характеристиками по сегодняшним меркам. Так, память большинства подобного рода ЭВМ редко превышала 32 кб и полноценное цветное изображение отнимало практически все аппаратные мощности.

Большинство программ в то время были написаны на ассемблере и имели собственные трансляторы для определенных ЭВМ. В пример также можно привести низкоуровневый язык AppleScript, появившийся в 1933 году, однако применяющийся и по сей день. Его использование во многих случаях было обусловлено работой с изображениями, их настройками, с графическими примитивами и шрифтами.

Как же именно работала компьютерная графика на начальном этапе своего развития, когда большинство компьютеров снабжалось 32 кб оперативной памяти?

Видеоадаптер в таких системах не имеет собственной памяти, поэтому ему требуются ресурсы процессора. Типичное разрешение экранов составляет около 320х200, что означает, что общее число пикселей составляет 64000. Если необходимо построить черно-белое изображение, то есть 1-битовый цвет, то потребуется израсходовать 8кб памяти только для одного кадра. Это занимает существенную часть памяти, однако, все же остается достаточно объема самой программы. Однако, если необходимо использовать 16 цветов (4 бита на цвет), то потребуется уже 32кб, что в некоторых случаях превышает память некоторые компьютеров, не говоря уже о самой программе. Использование 256 цветов, занимает уже всю оперативная память даже в топовых компьютерах – 64кб. А использовать современный 24-битовый “настоящий цвет” в принципе невозможно. Но были разработаны решения, позволяющие получать больше цветов на компьютерах без траты большого объема памяти. Существует 3 различных метода:

Цветовые ячейки (color cells), которые использовались во многих системах, таких как Nintendo и Commodore.

Артефактное окрашивание (artifact coloring), применяемое, как правило, на Tandy Color Computer и Apple II.

Графика, обрабатываемая процессором (cpu driven graphics), как на Atari 2600 и ZX81

Цветные ячейки

Этот метод является самым распространенным. Экран делится на маленькие секции, называемые ячейками или цветными ячейками. Этот способ позволяет изменять цвет отдельно каждой ячейки. Каждая зона 8х8 пикселей может иметь максимум 2 цвета – основной цвет и дополнительный. Подобным образом можно добавлять цвета черно-белому экрану, используя при этом всего 1 байт информации, для определения двух цветов каждой ячейки расходуя всего 9 кб памяти, это не так уж и много по сравнению с черно-белым экраном. Довольно серьезный недостаток заключается в том, что каждая ячейка способна хранить только 2 цвета, что добавляет трудности для разработчиков и дизайнеров. Однако он позволяет использовать 16 различных цветов на одном экране одновременно. Позже появилась модификация данного метода, делающая каждый пиксель в 2 раза шире (4х8), значительно снижающая разрешение, но позволяющая использовать уже 4 цвета в одной ячейке, сохраняя тот же объем памяти. Множество программ использует именно этот метод, потому, что цвет имеет более высокую роль нежели разрешение.

Артефактное окрашивание

Данный метод использует самые сложные алгоритмы отображения цветов. Все пространство дисплея разделяется на секции по 7 пикселей в каждой. Для этого используется 8 бит: 7 для пикселей и одни бит используется для смены палитры. 1 или 0 для пикселя соответствует одному из цветов палитры задаваемого 8-ым битом: розовый или зеленый, либо синий или оранжевый. Таким образом получается, что нельзя использовать 2 цвета из разных палитр в одной 7-битовой секции. Это вызывает трудности при необходимости размещения близко синего и зеленого цветов. Текст в таком режиме выглядит “радужным”.

Процессорная графика

Часть систем, не имеющих отдельного видеочипа для построения изображения использует мощности процессора для построения изображения по пикселям начиная сверху вниз слева направо. Он отсылает сигнал за сигналом для отрисовки каждого последовательно расположенного пикселя передавая информацию о его цвете. Поскольку требовалось обновлять новый кадр от 20 раз за секунду, то необходима высокая производительность для постройки такого изображения. Поэтому данный метод применялся в более поздних системах.

Такие методы позволяют выводить различные изображения в условиях ограниченной производительности. Но не стоит считать, что применение машинно-ориентированного подхода в построении компьютерной графики остались в прошлом веке. Часть узкоспециализированных систем или ЭВМ, обладающих, по каким-либо причинам низкую производительную способность (высокая надежность, сверхмалые размеры, повышенные требования к безопасности данных) продолжают использовать подобные технологии для построения изображений и отрисовки графики.

Заключение

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

Библиографический список

Мельникова Д.А. Основная терминология компьютерного синтеза изображений [Электронный ресурс] / Д.А. Мельникова, О.Ф. Абрамова // Студенческий научный форум – 2017 : докл. IX междунар. студенч. электрон. науч. конф. Направление «Технические науки» (секция «Актуальные проблемы компьютерной визуализации») / РАЕ. - Москва, 2017. - Режим доступа : https://www.scienceforum.ru/2017/2318/31273.

Якушина А.А. Компьютерная графика [Электронный ресурс] / А.А. Якушина, О.Ф. Абрамова // Современные технологии и инженерное образование : матер. науч.-практ. конф. (г. Волжский, ноябрь – декабрь 2014 г.) / ООО «Центр экологической безопасности и энергосбережения». – 1 электрон. опт. диск (CD-ROM). - Волжский, 2015. - C. 18-20.

Гонсалес Р. Цифровая обработка изображений [Текст] / Р. Гонсалес, Р. Вудс. - М.: Техносфера, 2012. - 1104 с.

Сторчак Н.А. Инженерная и компьютерная графика (учебное пособие) / Н.А. Сторчак, Т.А. Ильина, А.В. Синьков // Международный журнал экспериментального образования. - 2014. - № 3 (ч. 2). - C. 194.

Абрамова О.Ф. Использование мультимедийных технологий в процессе обучения дисциплине "Компьютерная графика" / О.Ф. Абрамова, С.В. Белова // Успехи современного естествознания. - 2012. - № 3. - C. 90.

Абрамова О.Ф. К вопросу о повышении эффективности функционирования тренажёрно-обучающих систем / О.Ф. Абрамова, М.Л. Цыганкова // Открытое и дистанционное образование. - 2014. - № 4. - C. 34-39.

Шакаев В.Д. Абстрагирование низкоуровневых API при создании кроссплатформенных графических приложений / В.Д. Шакаев, О.А. Шабалина // Вестник компьютерных и информационных технологий. - 2014. - № 8. - C. 11-16.

Конченков В.И. Применение ПЛИС в цифровой обработке изображений / В.И. Конченков, А.В. Старостина // Научный альманах. - 2015. - № 11-3. - C. 168-171.

Просмотров работы: 6