【问题标题】:macOS does'nt change dppx with scaling, bug or feature?macOS 不会通过缩放、错误或功能改变 dppx?
【发布时间】:2018-03-11 09:06:51
【问题描述】:

我已经用 dppx 在 macOS 10.13 上做了一些测试。

macOS 有 4 个刻度:

  1. 1680 х 1050
  2. 1440 х 900(默认从 2016 年开始)
  3. 1280 x 800(默认到 2016 年)
  4. 1024 х 640

我检查了 dppx(使用 this online service),结果,我总是得到 2dppx

为什么?我究竟做错了什么?这是bug?

macbook分辨率为2560*1600,假设我有2个dppx,实际缩放为:2560 / 2dppx x 1600 / 2 dppx === 1280 x 800

其他缩放是:

  1. 1680 х 1050 = 1.52 dppx
  2. 1440 х 900 = 1.77 dppx
  3. 1280 x 800 = 2 dppx
  4. 1024 х 640 = 2.5 dppx

我是对的?如果是这样,为什么检查dppx的工具总是写2dppx?

【问题讨论】:

  • dppx 通常四舍五入为整数;所以这些东西是由整个因素来衡量的。例如,线条图的图片在乘以 1.77 时会看起来很糟糕。
  • @MrLister dppx 有 0.1 步,s3.micp.ru/yTv35.png
  • Chrome 使用漂亮的整数作为缩放级别(牺牲了一致的比例),而 Firefox 使用了稍微一致的缩放级别之间的比例(牺牲了漂亮的整数)。

标签: macos css google-chrome safari retina-display


【解决方案1】:

这与 Mac OS 将视网膜视为一个整体的方式是一致的。缩放因子锁定为 2x,屏幕的虚拟分辨率发生变化,而不是屏幕分辨率固定,缩放因子发生变化。网络浏览器忠实地将这一事实暴露给网页。

例如,在 1680x1050 时,整个屏幕以 2 倍缩放因子渲染为 3360x2100,然后按 1.3125 因子缩小以适应屏幕,但这种缩放对应用程序是不可见的。如果 MacBook Retina 设置的分辨率不是物理显示器的 2 倍,那么用户就没有希望看到像素完美的图像。

对于 devicePixelRatio 可以更改的平台,请针对 Android N 中的显示缩放测试您的网站,或者在 Chrome 或 Firefox 中更改缩放级别,但不能在 Safari 中更改。

一些链接:

【讨论】:

  • 因此,这是错误还是功能?我认为这是一个错误,因为 macOS 不提供真实屏幕 dppx。对图像进行双重处理(增加-减少)并不重要,因此实际上应该在 100px 上绘制的内容例如以 50 像素绘制,而浏览器认为它是在 100 像素上绘制的。
猜你喜欢
  • 2015-08-24
  • 1970-01-01
  • 2020-03-11
  • 2012-08-25
  • 2015-12-26
  • 2014-07-31
  • 2022-07-29
  • 2018-01-30
  • 1970-01-01
相关资源
最近更新 更多