Совершенствование алгоритмов графического вывода для карт SVGA тема диссертации и автореферата по ВАК РФ 05.13.13, кандидат технических наук Митин, Владислав Анатольевич

  • Митин, Владислав Анатольевич
  • кандидат технических науккандидат технических наук
  • 1998, Москва
  • Специальность ВАК РФ05.13.13
  • Количество страниц 207
Митин, Владислав Анатольевич. Совершенствование алгоритмов графического вывода для карт SVGA: дис. кандидат технических наук: 05.13.13 - Телекоммуникационные системы и компьютерные сети. Москва. 1998. 207 с.

Оглавление диссертации кандидат технических наук Митин, Владислав Анатольевич

ОГЛАВЛЕНИЕ.

ВВЕДЕНИЕ.

ГЛАВА 1. АЛГОРИТМЫ ВЫВОДА ГРАФИЧЕСКОЙ ИНФОРМАЦИИ.

1.1 Классификация графических систем, информации, объектов и примитивов.

1.1.1 Графические системы.

1.1.2 Графическая информация.

1.1.3 Графические объекты и примитивы.

1.1.4 Обоснование выбора прямой линии в качестве основного строительного элемента векторных изображений.

1.2 Классические алгоритмы графического вывода и резервы ускорения.

1.2.1 Алгебраические алгоритмы отображения прямых линий.

1.2.2 Алгоритм прямой Брезенхэма (Bresenham).

1.2.3 Преобразование алгебраического алгоритма прямой в модифицированный алгоритм Брезенхэма.

1.2.4 Универсальные алгоритмы отображения прямых.

1.3 Исследуемые направления ускорения графического вывода и задачи диссертации.

1.3.1 Привязка программных алгоритмов к специфике центрального процессора и системы ввода/вывода.

1.3.1.1 Общая оптимизация алгоритмов на уровне команд.

1.3.1.2 Оптимизация набора команд взаимодействия с видеопамятью.

1.3.1.3 Использование полной разрядности регистров процессора и портов ввода/вывода.

1.3.2 Использование аппаратных возможностей повышения производительности, реализованных в графической карте.

1.3.2.1 Функции GUI Accelerator.

1.3.2.2 Функции Graphics Co-Processor.

1.3.2.3 Функции Zoom Window.

1.3.3 Разделение множества алгоритмов вывода на уровни по степени их универсальности.

1.3.4 Перенесение реализации некоторых задач с уровня прикладного программирования на уровень системных библиотек.

ГЛАВА 2. ИССЛЕДОВАНИЕ КЛАССИЧЕСКОЙ РЕАЛИЗАЦИИ

УНИВЕРСАЛЬНОГО АЛГОРИТМА ПРЯМОЙ ЛИНИИ.

2.1 Блок расчета адреса в видеобуфере.

2.2 Блок предустановок.

2.3 Блок вертикальных линий.

2.4 Блок горизонтальных линий.

2.5 Блок линий малого наклона.

2.6 Блок линий большого наклона.

2.7 Блок завершения функции.

ГЛАВА 3. ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ КЛАССИЧЕСКОЙ РЕАЛИЗАЦИИ

УНИВЕРСАЛЬНОГО АЛГОРИТМА ПРЯМОЙ ЛИНИИ.

3.1 Общий подход.

3.2 Линии малой длины.

3.3 Линии большой длины.

ГЛАВА 4. ПРОГРАММНЫЕ МЕТОДЫ УВЕЛИЧЕНИЯ СКОРОСТИ

ГРАФИЧЕСКОГО ВЫВОДА.

4.1 Общая оптимизация алгоритмов на уровне команд.

4.1.1 Инструкция LOOP.

4.1.2 Последовательность инструкций SHR.

4.1.3 Инструкции MUL и IMUL.

4.1.4 Вызов подпрограмм - инструкции CALL,RET.

4.2 Оптимизация набора команд взаимодействия с видеопамятью.

4.2.1 Инструкция STOSB.

4.3 Использование регистров.

ГЛАВА 5. РЕАЛИЗАЦИЯ УСОВЕРШЕНСТВОВАННЫХ АЛГОРИТМОВ.

5.1 Блок расчета адреса в видеобуфере.

5.2 Блок предустановок.

5.3 Блок вертикальных линий.

5.4 Блок горизонтальных линий.

5.5 Блок линий малого наклона.

5.6 Блок линий большого наклона.

ГЛАВА 6. ОЦЕНКА РОСТА ПРОИЗВОДИТЕЛЬНОСТИ

УСОВЕРШЕНСТВОВАННЫХ АЛГОРИТМОВ.

6.1 Общий подход.

6.2 Линии малой длины.

6.3 Линии большой длины.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ.

ВЫВОДЫ.

Рекомендованный список диссертаций по специальности «Телекоммуникационные системы и компьютерные сети», 05.13.13 шифр ВАК

Введение диссертации (часть автореферата) на тему «Совершенствование алгоритмов графического вывода для карт SVGA»

Актуальность темы

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

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

Решить эту проблему можно только совершенствованием методов программирования прикладных задач с использованием максимально гибких системных графических библиотек умело сочетающих аппаратные и программные ресурсы компьютера.

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

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

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

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

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

Цель и задачи диссертации

Целью данной работы, было отыскание программных способов увеличения скорости графического вывода для карт SVGA на компьютерах класса IBM PC.

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

Для достижения поставленной цели решались следующие задачи:

1. Исследование и классификация существующих графических систем, типов графической информации, принципов образования высокоуровневых графических объектов и примитивов из низкоуровневых.

2. Исследование влияния привязки программных алгоритмов к специфике центрального процессора и системы ввода/вывода на скорость графического вывода. В частности: a) влияние общей алгоритмической оптимизации с целью использования новых команд старших моделей процессоров на производительность алгоритмов графического вывода; b) влияние используемой разрядности регистров процессора и портов ввода/вывода на производительность алгоритмов графического вывода; c) влияние применения специально отобранного по критерию минимума времени исполнения стандартных графических операций набора команд на производительность алгоритмов графического вывода.

3. Исследование возможности использования в алгоритмах вывода графической информации аппаратных средств повышения производительности, реализованных в графических картах SVGA.

4. Исследование возможности разделения множества алгоритмов вывода графической информации на уровни по степени их универсальности, и влияние этого разделения на скорость графического вывода.

5. Исследование возможности перенесения реализации некоторых прикладных задач с уровня прикладного программирования на уровень системных графических библиотек, и влияние этого на скорость графического вывода.

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

7. Разработка конкретных методов оптимизации алгоритмов графического вывода по какому* либо из исследованных направлений.

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

Похожие диссертационные работы по специальности «Телекоммуникационные системы и компьютерные сети», 05.13.13 шифр ВАК

Заключение диссертации по теме «Телекоммуникационные системы и компьютерные сети», Митин, Владислав Анатольевич

выводы

1. Наряду с аппаратными средствами увеличения скорости графического вывода, связанными с увеличением стоимости оборудования, целесообразно использовать программные методы ускорения графического вывода, позволяющие увеличить скорость вывода до 2.5 раз на существующих процессорах.

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

3. Имеется существенный резерв ускорения графического вывода, который можно реализовать путем дальнейшей проработки предложенных в диссертации направлений оптимизации графических алгоритмов: a) использования в программных алгоритмах графического вывода имеющихся аппаратных возможностей повышения производительности; b) использования алгоритмов вывода графических примитивов различных уровней универсальности; c) перенесение некоторых общих задач с уровня прикладного программирования на уровень системных библиотек.

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

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.