Retina螢幕以及Rhino for Mac

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倍。

螢幕解析度應該被設為最佳 (Retina)

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)