Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π“Ρ€Π°Ρ„ΠΈΠΊΠ° для Windows срСдствами DirectDrawΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 2

Автор Бтэн Π’Ρ€ΡƒΡ…ΠΈΠ»ΡŒΠΎ

АппаратныС трСбования

Π’Π°ΠΌ потрСбуСтся ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ с процСссором Pentium ΠΈ Π²Ρ‹ΡˆΠ΅. Под Windows NT Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ 32 ΠœΠ±Π°ΠΉΡ‚ RAM, Π° ΠΏΠΎΠ΄ Windows 95 β€” Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 16 ΠœΠ±Π°ΠΉΡ‚. ΠžΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ остаСтся ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ β€” Ρ‡Π΅ΠΌ большС, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅. Π’Π°ΠΊΠΆΠ΅ потрСбуСтся дисковод CD-ROM.

НаконСц, понадобится Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π°, поддСрТиваСмая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ DirectDraw (Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ DirectDraw ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ практичСски всС соврСмСнныС Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹).

ΠŸΠΎΡ€Π° Π·Π°Π½ΡΡ‚ΡŒΡΡ Π΄Π΅Π»ΠΎΠΌ. НачнСм с ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ³ΠΎ курса DirectDraw.

Π“Π»Π°Π²Π° 1. ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ курс DirectDraw

ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ всю Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ DirectDraw Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π΄Π°ΠΆΠ΅ ΠΎ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… аспСктах DirectDraw написаны Ρ†Π΅Π»Ρ‹Π΅ ΠΊΠ½ΠΈΠ³ΠΈ. DirectDraw прСдставляСт собой ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΉ API, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ практичСски любоС графичСскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Windows. ИмСнно Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ сущСствСнно услоТняСт Π»ΡŽΠ±Ρ‹Π΅ описания. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π³Π»ΡƒΠΏΠΎ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС, ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°, Π² ΠΎΠ΄Π½ΠΎΠΉ Π³Π»Π°Π²Π΅.

И всС ΠΆΠ΅ я Ρ€Π΅ΡˆΠΈΠ» ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ.

ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Π΅Π³ΠΎ Π² этой Π³Π»Π°Π²Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. НСсомнСнно, Π²Π°ΠΌ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΎ DirectDraw. НавСрняка Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ дСмонстрационныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΈΠ³Ρ€Ρ‹, написанныС Π½Π° Π±Π°Π·Π΅ этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π― избавлю вас ΠΎΡ‚ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Ρ‚ΠΈΡ€Π°Π΄Ρ‹ ΠΎ свСтлом Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π² Windows. Π₯ΠΎΡ€ΠΎΡˆΠΎ написанноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DirectDraw Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ само Π·Π° сСбя, поэтому ΠΌΡ‹ обойдСмся Π±Π΅Π· ΠΎΡ…ΠΎΠ² ΠΈ Π°Ρ…ΠΎΠ².

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, я ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽ многословныС рассуТдСния ΠΎ HAL (Hardware Abstraction Layer, прослойка абстрактной Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹), HEL (Hardware Emulation Layer, прослойка эмуляции Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹) ΠΈ всС ΠΊΠΎΡˆΠΌΠ°Ρ€Π½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² справочных Ρ„Π°ΠΉΠ»Π°Ρ… SDK ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠ½ΠΈΠ³Π°Ρ… ΠΏΠΎ DirectDraw. Π’Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ эту ΠΊΠ½ΠΈΠ³Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для DirectDraw, Π° Π½Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ устройств DirectDraw ΠΈΠ»ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ тонкости Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ устройства Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ практичСском ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ DirectDraw с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программиста. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΌΡ‹ разбСрСмся с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ DirectDraw, ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡŽ DirectDraw API. ПослС этого Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ практичСскиС вопросы, нСсомнСнно ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ интСрСс ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ для DirectDraw.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ DirectDraw?

Π’Π΅ΡΡŒΠΌΠ° интСрСсноС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ DirectDraw ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π΅Π³ΠΎ самых яростных ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠΎΠ² β€” FastGraph. ГрафичСский ΠΏΠ°ΠΊΠ΅Ρ‚ FastGraph появился ΡƒΠΆΠ΅ довольно Π΄Π°Π²Π½ΠΎ. Π’ настоящСС врСмя сущСствуСт вСрсия FastGraph, которая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ DirectDraw, Π½ΠΎ скрываСт DirectDraw API Π·Π° своим собствСнным нСстандартным API. Π’Π΅Π΄ ΠΈ Π”ΠΈΠ°Π½Π° Π“Ρ€ΡƒΠ±Π΅Ρ€ (Ted and Diana Gruber), создатСли ΠΈ поставщики FastGraph, размСстили Π½Π° своСм Web-ΡƒΠ·Π»Π΅ Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ доказываСтся, Ρ‡Ρ‚ΠΎ FastGraph Π»ΡƒΡ‡ΡˆΠ΅ DirectDraw.

Π’ числС ΠΏΡ€ΠΎΡ‡ΠΈΡ… Π΄ΠΎΠ²ΠΎΠ΄ΠΎΠ² Π“Ρ€ΡƒΠ±Π΅Ρ€Ρ‹ Π·Π°ΡΠ²Π»ΡΡŽΡ‚, Ρ‡Ρ‚ΠΎ DirectDraw прСдставляСт собой «просто ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³Π°Β». Вакая Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° оказываСтся довольно Ρ‚ΠΎΡ‡Π½ΠΎΠΉ, Π½ΠΎ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠΉ. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ DirectDraw β€” Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-нСзависимый ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³Π°, Π½Π°Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ возмоТностями ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ эмуляции. Главная Π·Π°Π΄Π°Ρ‡Π° DirectDraw ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎ возмоТности быстро ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ графичСскиС изобраТСния Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ видСоустройств (Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³).

DirectDraw ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния - ΠΊΠ°ΠΊ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ видСопамяти. DirectDraw распрСдСляСт Π±Π»ΠΎΠΊΠΈ памяти ΠΈ слСдит Π·Π° состояниСм ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ подробности этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ скрытыми ΠΎΡ‚ программиста. Π’Π°ΠΊΠΎΠ΅ описаниС Ρ‚ΠΎΠΆΠ΅ оказываСтся излишнС ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΌ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, DirectDraw ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒ, Π½ΠΎ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ (RAM). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² памяти основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ удСляСтся надСТности, Π° Π½Π΅ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΆΠ΅ DirectDraw Π³Π»Π°Π²Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ Π±Ρ‹Π»ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ быстродСйствиС.

Π‘ тСхничСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния DirectDraw прСдставляСт собой пСрСносимый API Π² сочСтании с Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² устройств. Π’ своСй Ρ€Π°Π±ΠΎΡ‚Π΅ DirectDraw ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ графичСский ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Windows (интСрфСйс графичСских устройств, GDI). GDI Π·Π°Π²ΠΎΠ΅Π²Π°Π» Π΄ΡƒΡ€Π½ΡƒΡŽ славу своим Π½ΠΈΠ·ΠΊΠΈΠΌ быстродСйствиСм, поэтому Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Π½Π΅Π³ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½Π° для достиТСния ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ скорости.

Π’Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ

ΠŸΡ€ΠΈΠ½ΡΠ² ΠΊ свСдСнию всС эти описания DirectDraw, Π΄Π°Π²Π°ΠΉΡ‚Π΅ познакомимся с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ ΠΈ концСпциями, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΆΠ°Ρ€Π³ΠΎΠ½Π°. ΠœΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ…, Π½ΠΎ основных понятий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ спСцификС DirectDraw.

Π’ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΡ‹

Π’ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠΎΠΌ называСтся Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹ (Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°) ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ графичСского изобраТСния. Π‘Π°ΠΌΡ‹ΠΌ извСстным Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠ° являСтся Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ экрана. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Windows ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ 640Γ—480. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π° экранС выводится 640 пиксСлСй ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ 480 пиксСлСй ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ. Π’Π°ΠΊΠΆΠ΅ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΡ‹ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ 800Γ—600 ΠΈ 1024Γ—768. НСкоторыС Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ ModeX. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ModeX ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ 320Γ—200.

Π’ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Π³Π»ΡƒΠ±ΠΈΠ½Π΅ пиксСлСй (pixel depth). Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ опрСдСляСт количСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ пиксСлСм, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, количСство ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ†Π²Π΅Ρ‚ΠΎΠ². НапримСр, Π² Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠ΅ с Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ пиксСлСй Π² 8 Π±ΠΈΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ пиксСль ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· 256 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ†Π²Π΅Ρ‚ΠΎΠ². Π’ Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… с 16-Π±ΠΈΡ‚Π½ΠΎΠΉ Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ пиксСлСй поддСрТиваСтся ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎ 65536 Ρ†Π²Π΅Ρ‚ΠΎΠ². Π“Π»ΡƒΠ±ΠΈΠ½Π° пиксСлСй ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π²Π½Π° 8, 16, 24 ΠΈΠ»ΠΈ 32 Π±ΠΈΡ‚Π°ΠΌ.

Π’ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ устройством, установлСнным Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, β€” Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ΠΎΠΉ. На Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π΅ устанавливаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π½Π΅ входящая Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠŸΠ°ΠΌΡΡ‚ΡŒ, ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π΅, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π° ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ (RAM) β€” систСмной ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ОбъСм памяти, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠ°, опрСдСляСтся Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ пиксСлСй Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅. НапримСр, для Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠ° 640Γ—480Γ—8 (640Γ—480 пиксСлСй, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ Π² 8 Π±ΠΈΡ‚) трСбуСтся 307300 Π±Π°ΠΉΡ‚. Π’ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌ 1024Γ—768Γ—16 Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ 1572864 Π±Π°ΠΉΡ‚. Для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ€Π΅ΠΆΠΈΠΌΡ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ΠΎΠΉ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ объСмом установлСнной видСопамяти. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ€Π΅ΠΆΠΈΠΌ 1024Γ—768Γ—16 Π½Π΅ поддСрТиваСтся Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ с 1 ΠœΠ±Π°ΠΉΡ‚ памяти, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ для Π½Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΎΠΉ объСм памяти нСдостаточСн.

Одна ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… возмоТностСй DirectDraw β€” ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠΎΠ². Она позволяСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ DirectDraw ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ любой Ρ€Π΅ΠΆΠΈΠΌ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ установлСнной Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ΠΎΠΉ. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассматриваСтся Π² Π³Π»Π°Π²Π΅ 4.

АппаратноС ускорСниС

Основная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ DirectDraw обСспСчиваСт ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ быстродСйствиС, состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΎ всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… случаях примСняСтся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ускорСниС. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π° выполняСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнных Π² Π½Π΅Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств. АппаратноС ускорСниС ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ двумя основными прСимущСствами. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π² Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ срСдства, спроСктированныС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для ускорСния графичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’Π΅ΠΌ самым обСспСчиваСтся максимальная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния всСх дСйствий. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ускорСниС освобоТдаСт процСссор ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΎΡ‚ нСобходимости выполнСния этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, благодаря Ρ‡Π΅ΠΌΡƒ процСссор ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ.

ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΠΈ

ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒΡŽ (surface) Π² DirectDraw называСтся ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ содСрТащая графичСскиС Π΄Π°Π½Π½Ρ‹Π΅. Π‘Π»ΠΎΠΊ памяти, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π² систСмной, Ρ‚Π°ΠΊ ΠΈ Π² видСопамяти. Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ повСрхностСй Π² видСопамяти ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ систСмной памяти Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΠΈ дСлятся Π½Π° нСсколько Ρ‚ΠΈΠΏΠΎΠ². ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ внСэкранныС (off-screen) повСрхности. ВнСэкранная ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π² видСопамяти, Ρ‚Π°ΠΊ ΠΈ Π² систСмной памяти, Π½ΠΎ Π½Π΅ отобраТаСтся Π½Π° экранС. Π’Π°ΠΊΠΈΠ΅ повСрхности ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для хранСния спрайтов ΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Π°Ρ (primary) ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², прСдставляСт собой участок видСопамяти, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π½Π° экранС. Π›ΡŽΠ±Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° DirectDraw, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ графичСский Π²Ρ‹Π²ΠΎΠ΄, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ повСрхности. ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Π°Ρ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² видСопамяти.

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ повСрхности часто Π±Ρ‹Π²Π°ΡŽΡ‚ составными (complex), ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎ ΠΆΠ΅ самоС, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΌΠΈ (flippable). ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠ°Ρ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ страниц β€” ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ содСрТимоС всСй повСрхности ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ отобраТаСтся Π½Π° экранС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ страниц ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… графичСских ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΊΠ°ΠΊ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ DirectDraw, Ρ‚Π°ΠΊ ΠΈ Π±Π΅Π·, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΎ обСспСчиваСт ΠΎΡ‡Π΅Π½ΡŒ Π³Π»Π°Π΄ΠΊΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ ΠΈ устраняСт ΠΌΠ΅Ρ€Ρ†Π°Π½ΠΈΠ΅. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠ°Ρ пСрвичная ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Π½Π° самом Π΄Π΅Π»Π΅ состоит ΠΈΠ· Π΄Π²ΡƒΡ… повСрхностСй, ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… отобраТаСтся Π½Π° экранС, Π° другая β€” Π½Π΅Ρ‚. НСвидимая ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ называСтся Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΌ Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ (back buffer). ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ страниц повСрхности ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ мСстами: Ρ‚Π°, которая Π±Ρ‹Π»Π° Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΌ Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ, отобраТаСтся Π½Π° экранС, Π° Ρ‚Π°, Ρ‡Ρ‚ΠΎ Ρ€Π°Π½Π΅Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»Π°ΡΡŒ, прСвращаСтся Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€.