【发布时间】:2010-09-23 05:03:40
【问题描述】:
与窗口模式相比,Direct3D 应用程序在全屏模式下的性能似乎要好得多。这背后的技术原因是什么?
我想这与全屏应用程序可以获得对显示的独占控制这一事实有关。但是为什么应用程序无法获得对屏幕部分的独占控制(即窗口)并具有相同的性能优势?
【问题讨论】:
-
出于好奇,您在 Vista 上尝试过吗?启用 DWM 后,我在 XNA 应用程序中的系统上体验到窗口模式速度相当高(更高是因为需要更少的填充率,但关键是它并不慢)。
-
是的,我正在运行启用了 DWM 的 Vista。我还了解到,当全屏应用程序处于活动状态以释放资源时,Vista 会禁用 DWM。
-
Vista 仅在应用程序不兼容时才禁用 DWM。在全屏模式下(在其他显示器上可见),我有一些使用 Aero Glass 运行良好的游戏。虽然总的来说这是对的,但大多数游戏都会禁用 DWM。
-
从 Windows 8 开始,您可以使用 DirectFlip 制作蛋糕并吃掉它。基本上,DWM 会检测合成是否是无操作的,而是直接使用您的帧缓冲区,从而为您提供相同的性能。
标签: performance directx fullscreen direct3d