为什么 DisplayInformation.RawPixelsPerViewPixel = .83 对于 Windows 8.1 应用程序 Windows 10?

Why does DisplayInformation.RawPixelsPerViewPixel = .83 for Windows 8.1 apps in Windows 10?

当我 运行 我的 Windows 8.1 目标应用程序在 Windows 10 时,RawPixelsPerViewPixel=0.83 并且所有内容都稍微缩小了。

如果我将同一个应用程序定位到 Windows 10(创建通用 Windows 应用程序),那么 RawPixelsPerViewPixel=1 并且所有内容都稍微大一些。

当我在 Windows 8.1 和通用 Windows 应用程序之间切换时,

DisplayInformation.LogicalDpi 也从 79.63 变为 96。

如果应用程序缩放到 .83,它在 Windows 10 上看起来更好,我想重新定位到 Windows 10 以获得新的 API。不过,我不想调整所有内容的大小。有没有办法控制或改变这个值?它是如何计算的,为什么会发生变化?

我想继续支持 Windows 8.1 和 Windows 10。目前我正在检查和外部化所有 widths/heights/margins/fonts 因此 Windows 8.1 目标可以保持相同的大小,而我手动减小 Windows 10 目标中所有内容的大小。有更好的方法吗?

我是 运行 它在 Windows 10 VM 上。 运行 在正常 Windows 10 安装后,8.1 应用程序不会自动调整大小并且没有奇怪的 RawPixelsPerViewPixelLogicalDpi。我只是要把它记在虚拟机上。