Поделиться через


Поведение Windowed-Mode

Среда выполнения Microsoft Direct3D для устройства в оконном режиме никогда не вызывает функции драйвера дисплея пользовательского режима для блокировки вращающейся основной поверхности, для отрисовки на вращаемой основной поверхности или для выполнения передачи битовых блоков (bitblt) в повернутую основную поверхность или из нее. То есть среда выполнения Direct3D для устройства в оконном режиме обрабатывает все эти ситуации.

Среда выполнения Direct3D для устройства с окном может не вызывать функцию OpenResource драйвера дисплея пользовательского режима, чтобы открыть общую основную поверхность и сообщить драйверу отображения пользовательского режима об ориентации основной поверхности. Однако если диспетчер окон на рабочем столе (DWM) не запущен, среда выполнения Direct3D вызывает OpenResource, а драйвер отображения пользовательского режима информируется об ориентации основного. Драйвер дисплея пользовательского режима должен знать об основной ориентации поверхности только в том случае, если драйвер должен получить доступ к основной поверхности (через bitblt или lock) для своих целей; Среда выполнения Direct3D для устройства с окном никогда не будет запрашивать у драйвера отображения пользовательского режима доступ к повернутой основной поверхности. Таким образом, если драйвер отображения пользовательского режима должен получить доступ к основной поверхности для собственных внутренних целей, драйверу требуется механизм в дополнение к вызову функции OpenResource , так как OpenResource не всегда вызывается.

Функция DxgkDdiPresent драйвера dwm или мини-порта дисплея поворачивает данные в оконном режиме.