视网膜 - 设备像素比和图像大小之间的相关性?

Retina - Correlation between device pixel ratio and size of image?

我不太明白 window.devicePixelRatio 值是什么,以及它如何决定该设备需要的图像尺寸(2x、3x 等)。

例如,在 iMac 5K Retina(2015 年末)上,我希望像素比至少为 3 左右,但实际上是 2,与 iPad Air 和 iPhone 6s。这是否意味着它更喜欢 2x 位图? 3 倍?

迄今为止,用于 Retina 显示屏的图形的标准做法仍然是提供两倍于通常非 Retina 显示屏的图像。

提醒:最好"bandwidth hygiene"提供与当前用户的设备尺寸和分辨率相匹配的大图片。解决方案超出了这个问题的范围。

devicePixelRatio 是给定设备上 物理 像素与 设备无关 像素(凹陷)之间的比率。您可以将下降视为显示 "acts" 的样子。

例如:非 Retina 27" iMac 的宽度为 2560 个物理像素。显示所有内容 1:1,因此它的宽度也是 2560,所以 devicePixelRatio1.

在你的视网膜 27" iMac 上,宽度是 5120 个物理像素。但是显示器 "acts" 好像只有 2560 像素宽,所以一切都以与非视网膜 iMac 相同的物理尺寸显示. 因此,它仍然是 2560 倍宽,所以 devicePixelRatio2 (5120 / 2560),你将提供 2x 图像。

(您可以查看系统的倾角值是多少 - 如果您有视网膜显示器 - 通过转到系统偏好设置 > 显示 > 显示并将分辨率切换切换到缩放,然后将鼠标悬停在不同的选项上。对于默认值,在 5K iMac 上,它会显示 "Looks like 2560 x 1440").