iPhone 6 Plusでは、Appleは、アプリを3倍のスケールで1,242×2,208の「論理」ピクセルのバッキングストアにレンダリングし、その後GPUがデバイスのネイティブフルHD画面解像度である1,920×1,080ピクセルにスケールダウンするという珍しい方法を採用しました。
これはこれまでのどの iOS デバイスとも異なり、開発者は標準の Retina 画面用に 2 倍鮮明なグラフィック アセットを作成し、iPhone 6 と iPhone 6 Plus の新しい「Retina HD」画面を考慮して 3 倍密度の高い画像を作成するだけで済むため、アプリ開発を簡素化するために必要なことです。
欠点としては、システムがすべてをネイティブ解像度まで約 13 パーセント ダウン サンプリングするため、望ましくないアーティファクトが発生し、特定の状況で画質がわずかに低下することがあります。
ベルリンを拠点とする iPhone および Mac 開発者の Ole Begemann 氏は、Olympus E-M1 と Panasonic GH3 で構成されたクローズアップ カメラ リグと Olympus M 60 mm f/2.8 レンズを使用して iPhone 6 Plus 画面の非常に詳細な写真を撮影し、望ましくないアーティファクトについて見事な説明をしました。
最初のテストでは、CoreGraphics を使用して、1,242 x 2,208 ピクセルの論理解像度で、黒い背景にさまざまな間隔で垂直の緑色のヘアラインのグリッドをレンダリングします。
1,242×2,208論理ピクセルのバックストアにレンダリングされた線は、完璧に鮮明です。しかし、iPhone 6 Plusが1,080×1,920ピクセルの画面に表示するためにダウンサンプリングを行うと、鮮明な線から緑の線の間にある1ピクセル幅の黒い隙間が消え、非常に微妙なモアレ模様が現れます。
幸いなことに、レンダリングに OpenGL または Apple の Metal を利用するアプリ (主にゲーム) は、ダウンサンプリング ルーチンを無効にして、ネイティブ デバイスの解像度に一致するイメージ バッファーに直接描画できるため、ぼやけやアーティファクトは発生しません。
「OpenGLを使ってネイティブハードウェア解像度でテストパターンをレンダリングすると、完璧な結果が得られます」とベゲマン氏は述べた。「線は非常に明るく、隣接するピクセルへの滲みもありません。」
ただし、UI要素がOpenGLビューに導入されると、多少のぼやけが発生します。iPhone 6 Plusでその効果を実際に確認してみてください。ゲームを起動して音量を調整したり、通知センターを表示させたりしてみてください。
デバイスでビデオを視聴する場合も同じことが起こります。Hendrik Kueck氏による、iPhone 6 Plusでテストパターン画像を使用してこの効果を実証したビデオをご覧ください。
https://www.youtube.com/watch?v=eH0hyh5cvbU
iPhone 6 Plus は、iOS 対応のビデオ形式のハードウェア アクセラレーションによるデコードを使用するため、標準のビデオ アプリを使用して再生されるビデオは、スケーリング段階をスキップして、ネイティブの画面解像度で直接レンダリングされます。
しかし、再生コントロールを表示した瞬間、システムはぼやけたツールバーを動画と融合させる必要があります。これは(ご想像の通り)、動画表示を論理的な3倍スケールにアップサンプリングしてぼかしを計算し、その後すべてをハードウェア解像度にダウンサンプリングすることで実現されます。
その結果、ビデオコントロールをビデオの上に重ねると、一時的に画質が低下します。「iPhoneプラットフォームでは、ピクセルパーフェクトなレンダリングは過去のものとなりました」とベゲマン氏は結論付けています。
同氏によると、自動ダウンサンプリングは実際にはほとんど問題にはならず、開発者は望ましくない画像アーティファクトのためにリソースを無駄にするのではなく、画像劣化を無視するべきだという。
「Apple の推奨に従って、iPhone 6 Plus を 414×736@3× デバイスとして扱えば、極端なケースを除けば問題なく動作するでしょう」と彼はまとめた。
iPhone 6とiPhone 6 Plusの登場により、Appleはデバイスの解像度に関してプラットフォームの細分化を必然的に進めました。その結果、開発者はRetinaディスプレイと非Retinaディスプレイの両方に対応するため、アプリに通常サイズ、2倍サイズ、3倍サイズのアセットを提供する必要が生じました。これによりダウンロードサイズが大きくなり、アプリのインストール時にデバイスのストレージ容量に負担がかかります。
PaintCodeアプリの開発者が作成したこのウェブページは、Appleのモバイルデバイスの様々な画面サイズとピクセル構成を分かりやすく解説しています。上の画像はインフォグラフィックの一部ですので、このウェブページをご覧になり、このトピックについて詳しく学んでください。
結論:iPhone 6 Plus ユーザーの大半は、肉眼ではぼやけに気付かないでしょうが、よく見ると、特定の状況では縮小によって生じたアーティファクトに気付くでしょう。
Begemann 氏の研究結果に興味を持たれた方は、GitHub でコードが公開されているので、ダウンロードしてビルドし、彼が iPhone 6 Plus で実行したのと同じ 2 つのデモ アプリを自分で作成して、画像の劣化を観察することができます。
ちなみに、iPhone 6 Plus で撮影したスクリーンショットは、常に 1,242 x 2,208 ピクセルの論理 3 倍のサイズで保存されます。
[The Loop経由のOle Begemann]