我认为,当您为桌面软件开发 gui 和开发网站时,您正在开发的东西应该可以在几乎任何分辨率下正常工作和缩放……当您调整应用程序窗口的大小,或将其显示在更高或更低分辨率的显示器上时,它应该可以正确缩放和显示(例如,StackOverflow 使用 960px 宽的容器)。
从 Web 开发人员的角度来看,您经常被要求开发固定宽度的网站(通常范围从 940 到 1000 像素宽),但它们根本无法扩展。有很多这样的网站,而且许多应用程序并不是为了增加大小而设计的。
此外,尺寸确实增长的应用程序通常期望更大的分辨率也意味着更大的屏幕,因此它们只是拉伸主应用程序面板并完成它。
现在,考虑静态元素,例如显示“点击我”的 150x50 按钮。此按钮不打算变大,在常规 1440x900 显示器上完全可以接受。现在 Retina 屏幕具有 2580x1800 的分辨率。该应用程序看到分辨率发生变化,但它认为“嘿,该用户必须有一个大屏幕”,因此它保持按钮大小相同。
现在出现的问题是按钮,因为两种分辨率都适用于同一个 13 英寸屏幕,现在看起来只是原始按钮大小的一小部分。根据您的用户视觉,他可能无法阅读文本,并且可能很难单击它,具体取决于鼠标设置。
为了解决这个问题,苹果和微软使用了两种不同的解决方案:
- 微软决定告诉应用程序显示器的分辨率为 2580x1800,但用户希望将所有内容缩放到 200 dpi。这意味着,如果应用程序不遵循指南,它会看起来更小。许多应用程序只是忽略 DPI 设置(尽管这可能会随 Windows 8 改变);
- Apple 决定向应用报告显示器的分辨率为 1440x900,但如果要求它可以显示更高分辨率的元素;这意味着在新的 Retina 设置之前存在的应用程序对于最终用户来说看起来与以前的大小相同(如果他们使用默认的 Apple API,则会有额外的好处,比如更清晰的文本),但他们可以决定提供高 DPI在显示器上看起来会更好的图像。
这两种解决方案都要求应用程序意识到显示器是高 DPI(“视网膜”),但 Apple 处理它的方式意味着前面提到的静态网站和应用程序看起来会一直很好,除了它们不会有超清晰、高-要使用的分辨率图像。而且,要加入视网膜功能,例如,他们必须为 100x100 的画布提供 200x200 的图像,其余的由 Apple 负责。