Шаг 1 - Что такое DirectDraw и зачем он нужен?

DirectDraw это часть DirectX и представляет из себя API. Первоначально с появлением Windows оказалось, что игры писать практически нельзя. То есть они очень медленно работали. При программировании в Windows графики используется GDI. Но как раз этот GGI очень медленный. Проблема не нова. Те кто программировал в DOS знают, что наибольшею скорость можно достичь, напрямую обращаясь к видеопамяти. Посмотрите на схему ниже, все операции производятся в обход GDI. И мы можем работать либо с уровнем HAL либо HEL. Разница в совместимости. HAL обеспечивает запись в память. Данный компонент имитирует большой участок памяти в независимости от реальной организации видео карты. Для вас память сплошная. При попытке обращения этот уровень разбирается, куда и что нужно писать в реальную память адаптера. HEL создан для унификации. Дело в том, что многие адаптеры поддерживаю ряд возможностей, помогая существенно упростить управление ими. Например, пересылку блоков памяти из одного участка в видео памяти в другой на уровне адаптера. Но этого может и не быть. Вот если этого нет HEL эмулирует данную возможность программно и позволяет не думать о том кто это сделает. Если видео карта, то хорошо, нет программным путем.

1_1.gif (3109 b)

Для работы с DirectDraw он должен быть у Вас установлен. Есть много версий DirectDraw. Мы пока будем рассматривать DirectX 7, а соответственно и DirectDraw 7.


Следующий Шаг | Оглавление
Автор Каев Артем - 21.04.2002