Windows 10 的应用程序缩放设置有什么区别?

ber*_*ieb 6 gui windows-10

在 Windows 10 中,您可以全局扩展,并在每个应用程序的基础上进行更改:

缩放

我使用缩放使游戏在 4k 显示器上显示为合理的大小。最近的 Factorio 更新导致缩放中断,我在 Arquade 上询问了这一点,因此我将缩放比例从“系统(增强)”更改为“系统”以缓解该问题

但是,我不确定这些选项之间的技术差异是什么。Louie DelMS Answers 的回答中有一些解释:

Windows 10 周年更新中进行了许多改进和升级,其中包括具有增强功能的新 DPI 选项。为了让您大致了解覆盖高 DPI 缩放行为下的设置,您可以检查以下设置及其效果:

ms 回答 回答

  • 应用设置以前称为“上高DPI设置禁用显示缩放”。它还强制进程在每个监视器 DPI 感知模式下运行。当 DPI 更改时,Windows 将提示不要从有问题的 exe 中拉伸 UI(用户界面)。
  • 系统设置将位图拉伸UI时,DPI改变。
  • 系统(增强)设置是那些基于GDI的Windows或图形设备接口(GDI)扩展应用。它将 DPI 以每个监视器为基础扩展应用程序。这意味着应用程序肯定会成为每个显示器的 DPI 感知。

所以它看起来:

  • 应用程序禁用缩放并将其留给应用程序来处理它自己的分辨率 - 就像设置游戏中的分辨率
  • 系统执行简单的位图拉伸(如何?)
  • 系统(增强型)以 DPI 感知为基础进行扩展,并且每个显示器的扩展方式可能不同(同样,如何?)

如果上面的理解是正确的,那还是很肤浅的:不同类型的缩放实际上是如何完成的;例如,结果是否经过过滤/插值,是在 CPU 还是 GPU 等上完成的?因此,选项之间是否存在性能差异?

我很想知道为什么对 Factorio 的更改导致它停止在一个设置上工作;以及为什么它适用于其他游戏。我推测在 Factorio 的情况下,它在不缩放游戏部分的情况下缩放了窗口部分,但我不知道技术细节。了解有关如何处理这种缩放的更多技术细节将有助于我了解这一点。

DBN*_*DBN 3

系统缩放是由桌面窗口管理器(DWM)处理的简单缩放操作,很可能在 GPU 上高效执行,因为众所周知,DWM 通常会以这种方式实现其效果

增强缩放改变了旧的“GDI”图形 API(大多数旧应用程序使用)的内部行为,以绘制比某些整数比例(2x、3x、4x 等)所请求的应用程序更大的形状、字体和图像。如果监视器比例是 150% (1.5x) 之类的某个分数,它会使用与上述相同的 DWM 机制将其从 200% 缩小到 150%。本文有更多详细信息:Improving the high-DPI experience in GDI based Desktop Apps