Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Контекст графического устройства. Запись на устройство вывода



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

Контекст графического устройства ( Device Context ) – важный элемент графики в среде ОС Windows. Понятие контекста устройства введено для описания того, где будет рисоваться изображение.В качестве контекста может быть окно программы на экране дисплея или страница принтера, или другое место, куда можно направить графический вывод.

Если программа делает вызов графических функций API Windows, необходимо указать идентификатор контекста ( handle of device context ). Идентификатор контекста графического устройства ( hdc ) –это числовое значение, знание которого дает возможность направить графический вывод в нужное место.

Требования к памяти со стороны контекста дисплея очень велики, поэтому можно одновременно организовать доступ только к пяти контекстам дисплея в каждом сеансе Windows. Это значит, что каждое окно не может поддерживать свой собственный контекст дисплея. Оно получает его только в случае необходимости и освобождает при первой возможности. Другое окно и даже другое приложение может сменить атрибуты контекста дисплея. Кроме того, средства рисования не являются частью памяти контекста дисплея. Они могут быть выбраны в контекст дисплея каждый раз при его получении.

 

Окно - объект Microsoft Windows, который обрабатывает сообщения и отображается в приложениях.

7 DirectDraw.

DirectDraw

DirectDraw – компонента входящая в Microsoft's DirectX. Microsoft разработала DirectX по ряду причин. Основная причина состоит в том, чтобы сделать Windows платформу более эффективной, чем MS DOS или игровые платформы. Другая состоит в том, чтобы поддержать игровые разработки для Microsoft Windows, и помочь разработчикам, обеспечивая работу в стандартизированной и хорошо документированной платформе.

DirectDraw в отличие от GDI дает прямой доступ к видеопамяти. Для хранения изображения на экране может использоваться не вся видеопамять - остаток пропадает даром. Нельзя ли распорядиться им более разумно? Если видеокарта обладает аппаратным блиттером (специальная система, предназначенная для выполнения блитовых операций – пересылка битовых блоков), то в свободной памяти можно хранить вспомогательные спрайты, текстуры и т. д. Аппаратный блиттер позволит напрямую переносить изображения из внеэкранной видеопамяти в активную. Вам уже не приходится тратить время на пересылку видеоданных по компьютерной шине данных, благодаря чему возрастает скорость графического вывода. DirectDraw управляет свободной видеопамятью и позволяет создавать в ней внеэкранные поверхности или использовать ее любым другим способом. Фрагмент свободной памяти можно даже выделить под вторичный буфер, размеры которого совпадают с буфером главного окна, и построить в нем следующий кадр анимации, после чего воспользоваться исключительно быстрой блитовой операцией для обновления содержимого активной видеопамяти и смены изображения.

 

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

 

 

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

 

Для прорисовки у приложения есть четыре возможности:

GDI; OpenGL; • Абстрактный режим Direct3D; DirectDraw;

8. Основные возможности. Дополнительные библиотеки.


Поделиться:



Популярное:

  1. IDEF1X - методология моделирования данных, основанная на семантике, т.е. на трактовке данных в контексте их взаимосвязи с другими данными.
  2. II.4. Набор прографки таблицы и вывода
  3. Астное.8 отдельно отображается ения десятичного с дробью числа, а типовой для него формат вывода может представиться неудобным
  4. База правил нечеткой логики. Блок вывода. Нечеткий вывод на основе правила композиции.
  5. Беременность в культурном контексте
  6. Беседа 17 июня 1984 года в монастыре Витовница. Аудиозапись. (Прим. изд.)
  7. Беседа 17 сентября 1995 года в монастыре Витовница. Аудиозапись. (Прим. изд.)
  8. Беседа в монастыре Витовница. 1984 год. Аудиозапись. (Прим. изд.)
  9. Блок-диаграмма ВП простая запись данных в файл
  10. Влияния среды и различных контекстов
  11. Вопрос 2: Проблема культуры в контексте социологического знания ХХ века
  12. Вторая сторона демографического спада – уменьшение продолжительности жизни. Поэтому важнейшая составляющая демографической стратегии – улучшение положения пенсионеров.


Последнее изменение этой страницы: 2017-03-03; Просмотров: 921; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.011 с.)
Главная | Случайная страница | Обратная связь