我最近在项目中添加了DPI缩放比例,以确保项目(使用画布绘制)中的UI元素在各个设备上具有合理一致的大小。乍一看似乎可行,但是在添加代码后的第二天,我突然在4k笔记本电脑上有了大量的UI元素。我的高DPI移动设备和普通DPI台式机显示器以预期的尺寸显示。让我感到困惑的是,在我实现window.devicePixelRatio的那天晚上,正在输出的值为“ 1”。但是今天,该值为“ 2.5”,我还没有更改任何设置。
该计算机正在运行Windows,默认情况下设置为%250缩放比例,并且自从我获得笔记本电脑以来一直存在。如果将其设置为%100,则DPI输出将返回“ 1”。这并不是很有用,因为那时所有东西都很小,包括UI元素。所有这些还适用于更改页面缩放。
最终的问题似乎是比例尺被应用了两次,因此对于n的期望标量,我得到n ^ 2。我怀疑问题出在浏览器级别以下,因为此计算机上的所有浏览器(Chrome,Opera,Edge,IE)在膨胀的UI元素上都显示相同。
我需要弄清楚如何使计算机返回到主显示设置设置为%250,但是window.devicePixelRatio返回值“ 1”的状态。我也很想知道为什么这会首先改变,以便将来避免。