DirectDraw поддерживает режимы экрана Mode X и Mode 13. Mode 13 - это линейный, не поддерживающий флиппинг, палетизированный режим 320x200x8, получивший свое название по своему шестнадцатиричному номеру 13 в BIOS. DirectDraw может дать приложению в этом режиме прямой доступ к буферу кадра. В отличие от Mode X вы можете вызывать методы DirectDrawSurface7.Lock, Blt и BltFast, для прямого доступа к главной поверхности. Mode X - это гибрид, получившийся из стандартного VGA режима Mode 13. Этот режим позволяет использовать до 256 килобайт памяти (в отличии от 64 килобайт Mode 13). DirectDraw позволяет работать в двух режимах Mode X (320x200x80 и 320x240x8) для всех видеокарт. Некоторые видеокарты также поддерживают линейные режимы низкого разрешения. В этих режимах главная поверхность может быть блокирована и иметь возможность прямого доступа к ней. Это невозможно в режиме Mode X. Режим Mode X доступен только если приложение использует флаги DDSCL_ALLOWMODEX, DDSCL_FULLSCREEN, и DDSCL_EXCLUSIVE, когда устанавлиевается cooperative level. Если флаг DDSCL_ALLOWMODEX не указан, DirectDraw7.GetDisplayModesEnum не будет находить Mode X, а DirectDraw7.SetDisplayMode вообще работать не будет. В прежиме Mode X вы не можете использовать методы DirectDrawSurface7.Lock или DirectDrawSurface7.Blt. Также вы не можете использовать метод DirectDrawSurface7.GetDC для главной поверхности или GDI с экранным DC. Mode X обозначается флагом DDSCAPS_MODEX в типе DDSCAPS2, который является частью типа DDSURFACEDESC2, возвращаемым функцией DirectDrawSurface7.GetCaps и DirectDrawEnumModes. |