![Windows 10的应用程序缩放设置有什么区别?](https://linux22.com/image/1605317/Windows%2010%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%BC%A9%E6%94%BE%E8%AE%BE%E7%BD%AE%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
在 Windows 10 中,您可以进行全局扩展,并根据每个应用程序进行更改:
我使用缩放功能让游戏在 4k 显示器上显示为合理的大小。最近的 Factorio 更新导致扩展中断,我在 Arquade 上询问过,所以我将缩放比例从“系统(增强)”更改为“系统”缓解问题。
但是,我不确定这些选项之间的技术差异是什么。微软答案Louie Del 的回答:
Windows 10 周年更新中有很多改进和升级,其中包括具有增强功能的新 DPI 选项。为了让您了解“覆盖高 DPI 缩放行为”下的设置,您可以检查以下设置及其效果:
- 这应用该设置以前称为“在高 DPI 设置下禁用显示缩放”。它还会强制进程在每个显示器 DPI 感知模式下运行。当 DPI 发生变化时,系统会提示 Windows 不要从相关 exe 对 UI(用户界面)进行位图拉伸。
- 这系统当 DPI 改变时,设置将对 UI 进行位图拉伸。
- 这系统(增强)设置适用于基于 GDI 的 Windows 或图形设备接口 (GDI) 缩放的应用程序。它将根据每个显示器对应用程序进行 DPI 缩放。这意味着应用程序肯定会成为每个显示器 DPI 感知的。
所以它看起来:
- 应用禁用缩放并让应用程序自行处理其分辨率 - 就像设置游戏内分辨率一样
- 系统简单的位图可以拉伸吗(如何拉伸?)
- 系统(增强)在 DPI 感知的基础上进行缩放,并且可能根据显示器进行不同的缩放(再次,如何?)
如果上述理解正确的话,那还是比较肤浅的:不同类型的缩放实际上是如何进行的;例如,结果是否经过过滤/插值,是在 CPU 还是 GPU 上完成的?因此,这些选项之间的性能是否存在差异?
我很想知道为什么对 Factorio 的更改会导致它在一种设置下停止工作;以及为什么它在其他游戏中运行良好。我推测在 Factorio 的情况下,它缩放了窗口部分而没有缩放游戏部分,但我不知道技术细节。了解有关如何处理这种缩放的更多技术细节将有助于我了解这一点。
答案1
系统扩展是一个简单的扩展操作,由桌面窗口管理器(DWM),最有可能在 GPU 上有效执行,因为 DWM 是众所周知,它通常以这种方式发挥作用。
增强型缩放功能会改变旧版“GDI”图形 API(大多数旧版应用都使用)的内部行为,以绘制比应用请求的整数比例(2 倍、3 倍、4 倍等)更大的形状、字体和图像。如果显示器比例是某个分数,如 150%(1.5 倍),它会使用与上述相同的 DWM 机制将其从 200% 缩小到 150%。本文有更多详细信息:改善基于 GDI 的桌面应用程序中的高 DPI 体验