Windows 10 桌面 Window 管理器交换时间?

Windows 10 Desktop Window Manager swap timing?

我有几个关于 Windows 10 中的桌面 Window 管理器(又名 DWM)的问题:

背景:对于我用C++编写的OpenGL应用程序,我需要精确计时OpenGL中前后缓冲区的交换以及这些命令在OS级别的实现。 (我知道 Windows 10,或者 Windows 一般来说,是一个糟糕的选择,但还有其他限制因素)。

事实上,除了唯一的事实,即延迟的存在之外,我在互联网上找到的任何其他假设都没有可靠的来源。因此,我恳请任何对这个问题有答案的人,如果可能的话,包括对他们声明的引用。

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

虽然我找不到问题 2 和 3 的答案,但联系 Nvidia 支持人员提供了问题 1 的答案。

Nvidia 声明在全屏上下文中呈现的应用程序无法访问 DWM。它只处理以窗口模式呈现的应用程序。

警告:他们还说这是设计使然。考虑到 Microsoft 试图强制 users/programmers 使用 DWM 这一事实,无法保证此设计决策将保持多长时间不变。

来自 Nvidia 的原始邮件:

[...]

After checking your request with our specialized department, please note that when a game or anything is in Full Screen you cannot access this Windows Feature [annot.: DWM]. This is by design. It needs to be windowed mode if you want to access this feature.

[...]