2013年11月10日

MacBook Pro RetinaディスプレイのdevicePixelRatio

MacBook Pro RetinaディスプレイのdevicePixelRatioを調べてみました。

MacBook Pro Retinaディスプレイ 13インチの液晶パネルの画素数は「2,560×1,600ピクセル」ですが、環境設定の「ディスプレイ」から解像度を変更できます。標準解像度である「Retina(1,280×800ピクセル)」以外の、1,680×1,050ピクセル、1,440×900ピクセル、1,024×640ピクセルを選択すると、スケールング表示されます。

標準解像度も含めたすべての解像度に変更し、JavaScriptでwindowオブジェクトのdevicePixelRatioプロパティ(window.devicePixelRatio)を調べてみたところ、その値はいずれの場合も「2」でした。ちなみに、CSSのメディアクエリ「-webkit-device-pixel-ratio」でも同様でした。

▲疑似解像度: 1,024×640ピクセル

▲標準

▲疑似解像度: 1,440×900ピクセル

▲疑似解像度: 1,680×1,050ピクセル

ディスプレイの解像度に合わせて、devicePixelRatioの値も変わると思っていたので、意外な結果です。

で、OS Xのプレビューでスクリーンショットを開き、インスペクタを表示して画像の情報を確認してみると、イメージサイズが設定したディスプレイ解像度の2倍(総画素数では4倍)になっていました。


ということは、設定したディスプレイ解像度(例えば1,680×1,050)を、そのままパネルの解像度(2,560×1,600)にスケーリングするのではなくて、設定解像度のRetina表示(例えば3,360×2,100)にしてからパネル解像度にスケールングしているということでしょうか。

確かに、拡大しているならばディザーが目立つはずですが、ディザーは気になりません。標準解像度よりも小さい「1,024×640ピクセル」は、拡大表示しているはずですが、それでもほとんど気になりません。

ディスプレイ解像度の設定画面にも注意が表示されますが、標準よりも大きな解像度に設定すると、パフォーマンスにも影響がありそうなので、標準のままで使うのが無難なようです。

関連記事

0 件のコメント: