2012年六月,苹果宣布MacBook将使用Retina屏幕,苹果笔记型计算机将会有很高的分辨率。然而,这样的转换需要更多软件开发人员的努力来适应这种新的显示科技。
很长一段时间,所有的苹果屏幕具有每英吋约100像素 (PPI)。当设计对话框的时候,软件开发人员通常以像素为单位来设定文字区域还有按钮的高与宽,也用同样的方式来设定对话框在屏幕上的位置。新的Retina屏幕有220PPI,所以以前的设计方式已经不适合使用。
苹果本身下了很多工夫以完成无缝过渡的阶段。在macOS系统,苹果使用“点”的概念来测量屏幕的尺寸,而不是像素。对于旧型非Retina显示,苹果决定像素与点为相同大小,所以之前屏幕显示的编排仍然有效。 但是在新的Retina屏幕上,苹果表示1点等于2个像素,所以每个方向算起来一个像素是一点的两倍。因此当软件开发师做一个18×90(点)的对话框按钮,在非Retina屏幕上还是18×90像素,但在Retina屏幕上就变成了36×180像素。因为Retina屏幕的分辨率是像素的两倍,这样的按钮在这两种不同屏幕上有看起来是相同的尺寸,大概是比一吋宽还要小一些。
苹果更新了所有文字与绘图的控制方法,所以Retina屏幕上的按钮跟文字都会是两倍像素,所有应用程序都能如常运作。但绘图软件如Rhino就需要一些改变,以便利用新的Retina显示器的优势。
如之前提到的,macOS现在通常用点来绘图。但Rhino绘制的是模型的视图,需要以像素为单位。所以Rhino需要macOS来做判断,并且在绘图时使用适当的像素值。如果在Retina屏幕 (比如2012年MacBook Air)还有一般屏幕上比较一个Rhino模型,就可以看出在Retina屏幕上的影像看起来更锐利更清晰。当使用Retina屏幕时,Rhino制定的像素大概是以往的4倍。
2012年15吋Retina MacBook Pro计算机是2880×1800像素。在系统选项System Preferences >显示Displays里,苹果提供缩放分辨率的选项,改变这个项目对Mac版Rhino不是一个好主意。如果看到“缩放分辨率会影响性能”,对于Mac版的Rhino来说是这样没错。
这个面板让你可以用点为单位改变显示器的尺寸,而不是以像素为单位。很显然的你无法改变屏幕的像素。苹果在这个控制面板上的呈现会令人有点疑惑,如果你以为屏幕分辨率是以像素为单位,结果其实是点。
为了实际测量这两种设定之间的不同处,我们设定Rhino以像素回报实际的作业视窗的尺寸。我们开启Rhino并且将绘图视窗设为全屏幕还有一个单一的作业视窗。以下是使用三种系统设定时Rhino的回报:
分辨率 | 显示为Looks like | 以点为单位子视图viewport in points | 以像素为单位子视图viewport in pixels | 像素值pixel count |
---|---|---|---|---|
Best (Retina) | 1440 X 900 | 1438 X 801 | 2876 X 1602 | 4,607,352 |
1680 x 1050 | 1678 X 951 | 3356 X 1902 | 6,383,112 | |
More Space | 1920 x 1200 | 1918 x 1101 | 3836 x 2202 | 8,446,872 |
要记得,Retina屏幕里实际上的像素值是无法改变的。最佳Retina设定,作业视窗的像素跟实际上显示的像素值一样,所以作业视窗的内容是直接划出并由屏幕显示。 在其他两个案例哩,macOS会建立一个不在屏幕上的bitmap档,比实际显示还要大,Rhino实际上是画在那个bitmap里。 macOS缩放那张bitmap直到与实际显示尺寸相同,最后在屏幕上画出来。 在1920×1200这个选项里,在Retina最佳显示情况下,Rhino必须以两倍像素来绘图,macOS显示时会将Rhino绘图的汇出缩至实际屏幕的大小。
既然Rhino一定会注意到实际显示尺寸,所以要保持分辨率一直设在最佳显示Best for display。如果在缩放Scaled选项选取的情况下,设定为最佳Best(Retina)。