Overlays也就是游戏内覆盖,例如大家所熟悉的微星小飞机,NVIDIA自带的帧数显示和性能面板,Xbox Game Bar,以及Steam游戏内界面——对,就是你按下快捷键就能切到和好友聊天的那个界面,那也是游戏内覆盖。当然,很多FPS中的外挂,也都是通过Overlays的方式来渲染到游戏画面上,这就是各种别人显示器中框框的来源
![[怒]](/static/emoticons/u6012.png)
讲完Overlays言归正传,为什么DX12抛弃了FSE呢?Overlays所导致的性能和反作弊问题就是一个原因,上面机翻内容也已经提到过。所以DX12采用了一种方法,那就是DX12特化版本的全屏,在这种全屏下,显卡并非完全交由游戏进行资源的申请和处理,它保留了一部分——很小的一部分,以用于对游戏内覆盖处理。
感觉我讲的挺菜的,继续搬运官方研究人员的机翻:
使用全屏优化时,您的游戏认为它在全屏独占模式下运行,但在幕后,Windows 让游戏以无边界窗口模式运行。当游戏在无边界窗口模式下运行时, 游戏无法完全控制显示- 总体控制权交还给 桌面窗口管理器 ( DWM ) 。 DWM 管理来自各种应用程序的桌面显示内容的组合/组织,这意味着它控制呈现和呈现到显示器前面的内容以及保留在背景中的内容。然而,这种控制在历史上导致与游戏完全控制的FSE相比, 性能开销很小。
为了恢复这种性能开销, 我们增强了 DWM 以识别游戏何时在无边框 全屏 窗口中运行且屏幕上没有其他应用程序。 在这种情况下,DWM 可以控制游戏的显示和几乎所有 的 CPU/GPU 能力 。这反过来又允许与在 FSE 中运行游戏相当的性能。 全屏优化本质上是 FSE,具有返回 DWM 组合的灵活性以简单的方式。这为我们提供了两全其美的性能和需要 DWM 的其他功能,例如游戏内覆盖。当存在诸如 Game Bar 之类的叠加层时,DWM 会重新承担对显示的控制,并且会产生轻微的性能开销,以便可以安全稳定地将叠加层合成到游戏之上。
那为什么我还是选择用回了DX11的FSE而不是全屏优化呢?因为电脑显卡太渣了,一个破1650,🐀🐀接受不起那点性能损耗