Bezpośredni rysunek

DirectDraw (ddraw.dll) to interfejs API, który był częścią interfejsu API DirectX firmy Microsoft . DirectDraw służy do przyspieszenia renderowania grafiki 2D w aplikacjach. DirectDraw umożliwia także uruchamianie aplikacji w trybie pełnoekranowym lub osadzonym w oknie, tak jak większość innych aplikacji MS Windows. DirectDraw korzysta z akceleracji sprzętowej , jeśli jest dostępna na komputerze klienta . DirectDraw umożliwia bezpośredni dostęp do pamięci wideo , nakładek sprzętowych , blitterów sprzętowych i odwracania stron . Jego pamięci wideo może z łatwością manipulować pamięcią wideo, w pełni wykorzystując możliwości blittingu i dekompresji kolorów różnych typów kart graficznych .

DirectDraw to interfejs API 2D . Oznacza to, że zawiera polecenia do renderowania 2D i nie obsługuje 3D . Programista mógłby użyć DirectDraw do rysowania grafiki 3D, ale renderowanie byłoby powolne w porównaniu z interfejsem API takim jak Direct3D , który obsługuje akcelerację sprzętową 3D.

DirectDraw został wprowadzony dla Windows Mobile w Windows Mobile 5.0, zastępując komponent graficzny GAPI, który został wówczas wycofany.

Wraz z wydaniem DirectX w wersji 8.0, DirectDraw został połączony w nowy pakiet o nazwie DirectX Graphics , który rozszerzył Direct3D o kilka dodatków DirectDraw API. DirectDraw może być nadal używany przez programistów, ale muszą oni używać starszych interfejsów DirectX (DirectX 7 i starsze).

W czerwcu 2010 r. DirectDraw został usunięty z pakietu DirectX SDK, ale w 2012 r. DirectX SDK został włączony do zestawu Windows Platform SDK, a DirectDraw został ponownie dołączony.

Wymiana

Nastąpiło pogorszenie kompatybilności systemu Windows ze starymi grami opartymi na DirectDraw, w tym Command & Conquer , Warcraft 2 i Theme Hospital . W nowszych wersjach systemu Windows niektóre gry nie chcą działać z 32-bitową głębią ( na przykład Dangerous Waters ), inne wyświetlają czarny ekran lub usterki po wyłączeniu. Zaobserwowano, że ponowne wdrożenie DirectDraw rozwiązało te problemy ze zgodnością. Powszechnie stosowane zamienniki to:

  • WineD3D z Wine , co przekłada się na OpenGL .
  • cnc-ddraw i ts-ddraw z CnCNet, sieci wieloosobowej Command & Conquer. Tłumaczy na GDI , OpenGL (z obsługą GLSL ) lub Direct3D 9.
  • DdrawCompat, opakowanie dla waniliowego ddraw, które koryguje problematyczne wywołania. ddwrapper to wcześniejsze, niepowiązane opakowanie, które robi to samo.

Zobacz też

Linki zewnętrzne