2017-05-31 45 views
1

我在Windows 10关于桌面窗口管理器(又名DWM)几个问题:Windows 10桌面窗口管理器交换时间?

背景:对于OpenGL应用程序我用C写++我需要关于前的交换和后台缓存的OpenGL和精确定时在OS级别上实现这些命令。 (我知道Windows 10或Windows一般是不错的选择,但还有其他限制因素)。

  • 问题1:我的互联网研究表明,DWM管理,我无法控制,因此第三缓冲(使可视化三重缓冲系统)创建一个不可预测的延迟。调查还显示,这可以通过在全屏模式下打开OpenGL环境来绕过。这些信息是否正确?

  • 问题2:这个延迟是由操作系统随机指示DWM复制缓冲区的事实引起的吗?

  • 问题3:实际的延迟时间有多长,我的调查显示的数字在< 1ms到50ms之间,但没有可靠的来源。

事实上,除了对单一事实上,延迟仅仅存在,有任何其他的假设,这是我能找到在互联网上的不可靠来源。因此,我恳请任何人回答这个问题,如果可能的话,请提及他们的陈述。

我不知道这是否重要,但我通过GLFW和GLEW使用OpenGL。

回答

0

虽然我无法找到答案问题2和3,联系了Nvidia提供的支持问题的回答1

Nvidia公司statet一个应用程序以全屏幕背景不能访问DWM呈现。只有在窗口模式下呈现的应用程序才由它处理。

警告:他们也说这是设计。考虑到微软试图强制用户/程序员使用DWM这一事实,这一设计决策将维持多久不能保证。

来自Nvidia

原始邮件:

[...]

检查与我们的专业部门的要求后,请注意,当一个游戏或东西是在全屏你不能访问此Windows功能[注释:DWM]。这是设计。如果你想访问这个功能,它需要被视窗模式。

[...]