我正在尝试进一步了解 HiDPI 显示器和 DPR
在 HiDPI 显示器上使文本更清晰的算法或流程是什么?
我猜测其中涉及缩放,因为 HiDPI 显示器渲染时会使用更多像素,即 HiDPI 显示器中的 1440 x 900 分辨率实际上有 2880 x 1800 像素。
显然这不是唯一的步骤,否则所显示的图像中的文本看起来会完全相同,因为缩放实际上不会改变“质量”。
在 HiDPI 显示器上渲染时还使用了哪些其他技术?还会使用抗锯齿吗?
当 HiDPI 显示器的分辨率设置为 1440 x 900 时,设备像素比 (DPR) 设置为 2。
但根据我的理解,DPR 是物理像素与逻辑像素的比率。在这种情况下,DPR 不应该是 2560 / 1440 吗?因为我的物理分辨率是 2560 x 1600,而逻辑分辨率是 1440 x 900。我猜 DPR 是 2,因为 2880/1440 = 2,但 2880 不是线性物理分辨率,应该是 2560。我很困惑
答案1
我会尝试回答您的实际问题。但首先,我建议您放弃设备像素比和逻辑分辨率,因为它们是一堆麻烦。
在普通平板显示器上(CRT 略有不同,但同样是无用的),每英寸大约有 96 个像素(PPI,通常被错误地称为 DPI)。这就是像素密度。它与物理显示尺寸及其原始分辨率直接相关。在“高 DPI”(真正意义上是“高 PPI”)面板上,像素密度会高得多,甚至高达三倍。仅此而已,仅此而已。
当然,如何处理这种高像素密度也很重要。您不会希望文本只有三分之一大小。因此,我们将所有内容渲染为三倍大小。(如果一切都很简单,设备像素比就是:缩放因子。但这完全是 CSS 的问题。作为用户,您不应该为此烦恼。)本质上,这就是让一切看起来都很好的原因。突然间,我们有了更多像素,使“o”看起来更圆一些,而“g”不仅仅是像素粘糊糊的。
“算法和流程”只是以更高的分辨率渲染字体的矢量数据。这不是位图缩放,而是从头开始制作的更高质量的图像。对于实际的位图(按钮图像等),应用程序和网站通常提供更高分辨率的版本。
没有人说你必须将显示缩放比例设置为 300%,仅仅因为像素密度是原来的三倍。你也可以选择“缩小”显示 200%,以便在显示屏上容纳更多内容。你甚至可以使用分数缩放,但这并不理想。
事实上,它“并不理想”,以至于有些操作系统使用“黑客”来支持它。我猜你使用的是 macOS,它有“看起来像 1440×900”这个功能。你是对的:缩放滑块实际上位于2560/1440 = 1.77选项。然而,这对于渲染目的来说不是一个好因素。因此,macOS 实际上让所有内容在内部以 200% 运行,然后缩小最终结果。这也会影响性能。另请参阅Ask Different 上的这个答案。