
Windows 11增加了“窗口化游戏优化”功能,我习惯称之为“窗口模式优化”。

上面的是总开关。下面程序的单独开关,默认是同步上面总开关的。你也可以为个别程序手动设置窗口模式优化是否启用。本次测试直接调整总开关。
窗口模式优化使用新的翻转模型,可以降低游戏处于窗口模式和无边框窗口模式时的操作延迟。
测试依然使用守望先锋2+reflex latency analyzer。用到的硬件包括9800X3D,RTX5080,PG279QM(2K240Hz硬件G-SYNC),炼狱蝰蛇V2(仅测试时使用)。

测试使用国服OW2客户端,自定义场景。每次点击100次左键,读取reflex延迟分析器的系统延迟平均值。
使用国服客户端首先要验证反作弊程序是否吃了过多的CPU。如果吃太多U,例如超过了OW本身,使用国服客户端做测试就不再合理。

游戏本体占用的CPU过低是因为切出之后帧数应该是没有跑满导致的。NEAC占用并不高,所以使用国服OW2客户端进行测试。

画面质量是我自用的,5080只占用了20%。
锁帧223,关闭垂直同步,关闭三重缓冲,开启减少缓冲,开启reflex增强。驱动关于OW2全部默认。

测试结果:

本次测试并非清汤寡水。右上角可以隐约看到每次测试的时间,跨度比较大,因为中途遇到一些问题。题外话,做相同的操作流程,谁都会,但是遇到问题,分析原因,是否对测试结果有影响,如何解决,不是每个人都会的。(我也有很多问题整不明白....
Win11默认是开启窗口模式优化,开启可变刷新频率,关闭禁用全屏优化的。
测试1:关闭窗口模式优化,开启可变刷新频率,关闭禁用全屏优化,游戏锁帧240,无边框
测试2:开启窗口模式优化,开启可变刷新频率,关闭禁用全屏优化,游戏锁帧223,无边框
测试3:开启窗口模式优化,开启可变刷新频率,关闭禁用全屏优化,游戏锁帧223,全屏
测试4:开启窗口模式优化,关闭可变刷新频率,开启禁用全屏优化,游戏锁帧223,全屏
众所周知,做测试要注意控制变量。我这4组测试,变化的元素不止1个,这当然是有原因的。
为什么测试1锁帧是240?
测试2-4,锁帧223,都能正确触发G-SYNC,使刷新率动态到223Hz附近。而测试1不能触发G-SYNC,帧数223,刷新率恒定240Hz。这样锁帧223就没有意义,所以把锁帧数值改到240。这样会有微弱的降低操作延迟的趋势,但从结果来看,毫无意义。
为什么测试4要关闭可变刷新频率?
开启禁用全屏优化+游戏内全屏=真全屏独占模式。这会让显卡只输出游戏画面,完全不被DWM(桌面窗口管理器)影响。但禁用全屏优化和可变刷新频率有冲突。同时开启时,游戏的V-SYNC会无效。虽然本次测试不涉及V-SYNC,但我不会使用有“暗病”的方案。这个现象是我在CS2发现的,没有使用OW2再次验证。
可变刷新率频率是OS VRR层。关闭时,游戏帧数直通显示器刷新率。开启时,是游戏帧数--OS VRR--显示器刷新率。对于原生支持VRR的游戏,它没有意义。对于不支持VRR的部分游戏,它可以强制游戏支持VRR。不过目前根据我的观察,没有这样的游戏。艾尔登法环的全屏独占模式锁100Hz+60fps。OS VRR对其完全没有解锁效果。
禁用全屏优化是让显卡只输出游戏画面,完全不被DWM影响。默认没有勾选禁用全屏优化。游戏会以全屏模式输出画面,但DWM也在后台运行。全屏优化的意义是加快切屏速度。因为DWM一直在运行,所以切出去会很快,不会黑屏很久。如果禁用全屏优化,DWM不再工作,切屏时,桌面和其它窗口需要重新开始渲染,黑屏时间会略微延长。但对于现在的高端硬件,DWM在后台的占用几乎可以忽略(除非你开了非常多的窗口),切屏的黑屏时间也非常短。所以多数情况,不需要刻意禁用全屏优化。
①窗口模式优化可以大幅度降低游戏处于无边框窗口模式时的操作延迟。关闭窗口模式优化,或者使用win10系统,使用无边框窗口模式,相比全屏独占模式,操作延迟会明显升高。
②窗口模式优化后的无边框窗口模式,全屏独占,真全屏独占,操作延迟很接近,差异可忽略。

技术相关的说完,然后是非技术的。
选择无边框窗口还是全屏独占,不能只看操作延迟。有时候你需要一边游戏,一边打开某些窗口,例如让聊天窗口和网页处于游戏画面上方,只能使用无边框窗口模式。有些直播环境可能不能使用全屏独占模式。
但是让其它窗口处于游戏窗口上方,或者画面捕获软件持续捕获窗口化游戏的画面,此时窗口模式优化是否有效,我就不得而知了,这需要额外的测试。我目前没有这类使用场景,所以暂时不会测。