DirectDraw - Википедия - DirectDraw

DirectDraw (ddraw.dll) - устаревший API, который раньше был частью Microsoft с DirectX API. DirectDraw используется для ускорения рендеринг 2D графика в приложениях. DirectDraw также позволяет приложениям работать в полноэкранном режиме или встраиваться в окно, как и большинство других приложений MS Windows. DirectDraw использует аппаратное ускорение если он есть у клиента компьютер. DirectDraw обеспечивает прямой доступ к видеопамять, аппаратные накладки, аппаратное обеспечение болтуны, и листание страницы. Его видеопамять менеджер может легко управлять видеопамятью, в полной мере используя болтовня и возможности цветовой декомпрессии различных типов видеоадаптеры.

DirectDraw - это 2D API. То есть он содержит команды для 2D-рендеринга и не поддерживает 3D аппаратное ускорение. Программист может использовать DirectDraw для рисования трехмерной графики, но рендеринг будет медленным по сравнению с API, таким как Direct3D который поддерживает аппаратное ускорение 3D.

DirectDraw был представлен для Windows Mobile в Windows Mobile 5.0, заменив графический компонент ГАПИ, который тогда был объявлен устаревшим.[1]

DirectDraw устарел с версии 7. С выпуском DirectX версии 8.0 DirectDraw был объединен в новый пакет под названием Графика DirectX, который расширил Direct3D несколькими дополнениями DirectDraw API. Программисты по-прежнему могут использовать DirectDraw, но они должны использовать более старые интерфейсы DirectX (DirectX 7 и ниже).

С выходом Виндоус виста DirectDraw больше не имеет дело с 2D-графикой с аппаратным ускорением, а вместо этого стал уровнем совместимости, реализованным с помощью Direct3D.

В июне 2010 года DirectDraw был удален из пакета DirectX SDK,[2] но в 2012 году DirectX SDK был объединен с Windows Platform SDK, и DirectDraw был снова включен.

Замена

Одновременно с прекращением поддержки DirectDraw произошло ухудшение совместимости Windows со старыми играми, которые полагались на этот старый API, с Command & Conquer, Warcraft 2, и Тематическая больница среди пострадавших. В более новых версиях Windows некоторые игры отказываются запускаться под 32-разрядной версией. битовая глубина, другие показывают черный экран или глючат при отключении. В результате повторная реализация DDraw жизненно важна для многих сообществ, все еще принимающих эти игры. Обычно используемые замены включают:

  • WineD3D из Вино, что переводится как OpenGL.[3]
  • cnc-ddraw и ts-ddraw из CnCNet, многопользовательской сети Command & Conquer. Переводится на GDI, OpenGL (с GLSL support) или Direct3D 9.[4]
  • DDrawCompat, оболочка для стандартного ddraw, исправляющая проблемные вызовы.[5] ddwrapper - более ранняя, не связанная с этим оболочка, которая делает то же самое.[6]

Рекомендации

  1. ^ Саффитц, Майкл. "Вы уже перешли на DirectDraw?". Блог команды разработчиков Windows Mobile. Получено 23 апреля 2019.
  2. ^ «Графика и видео DirectX 8: новое начало». gamedev.net. 2000-11-30. Архивировано из оригинал на 2007-06-04. Получено 2019-04-23.
  3. ^ Доссена, Федерико. «WineD3D для Windows». Федерико Доссена. Получено 23 апреля 2019.
  4. ^ CnCNet (21 апреля 2019 г.). "cnc-ddraw: GDI, OpenGL и Direct3D 9 повторная реализация DirectDraw API для классических игр для лучшей совместимости с Windows XP, Vista, 7, 8, 10 и Wine". GitHub. Получено 23 апреля 2019.
  5. ^ narzoul (21 апреля 2019). «DDrawCompat: улучшения совместимости и производительности DirectDraw для Windows Vista, 7, 8 и 10». GitHub. Получено 23 апреля 2019.
  6. ^ Акрит. "ddwrapper". bitpatch.com.

Смотрите также

внешняя ссылка