2012-03-08 2 views
1

私は網膜スクリーンについて質問があります。網膜スクリーンがコンピューティングを増加させますか?

たとえば、OpenGLでシェーディング付きの矩形を描画します。サイズはiPhoneの画面と同じです。

iPhoneの場合、網膜スクリーンなしの場合、サイズは320 * 480です。私の理解から、320 * 480回のフラグメントシェーダの計算があります。網膜のあるiPhoneの場合、計算は320 * 480 * 4になりますか?またはまだ320 * 480。

最高のお礼、

答えて

2

に依存します。 320×480のフレームバッファにレンダリングするだけで、320×480のフレームバッファにレンダリングし、デバイスに単純なアップスケーリングをさせるだけです。ただし、640x960フレームバッファにレンダリングする場合は、640x960フレームバッファにレンダリングします。より高い解像度へのレンダリングは常にコストがかかります。フルサイズでは1024x768ピクセル、1920x1200では中程度の設定しか処理できない場合があります。幸いなことに、後者はiOSには当てはまりません。ハードウェアがディスプレイに合わせて調整されているからです。実際、あなたはiPhone 3GS上でできるよりも網膜ディスプレイをサポートしたiPhone 4でさらに高品質のシーンをレンダリングすることさえできます。

「新しいiPad」については知っていますが、GPUが実際にiPad 2の2倍の速さであれば、本当に完全な解像度で驚くべきシーンを描くことができます。

+1

また、適用率が制限されているか、ボトルネックが大量のジオメトリを処理しているかによっても異なります。私は大規模なジオメトリを持つアプリケーションを持っていましたが、シンプルなシェーダを持っていて、iPhone 3G SからiPhone 4 Retinaフレームバッファに足を踏み入れてもほとんど減速しませんでした。しかし、重いフラグメントシェイダーを持つこのアプリケーションの後のバージョンは、iPhone 4の画面サイズが大きくなると、はるかに遅くなりました。iPad 2は非常に頑丈なフラグメント処理性能を備えていますが、Retina iPadは、そのより多くのピクセルでこれを維持する。 –

+0

補足として、そのビュー内で網膜解像度レンダリングを可能にするために、 'self.contentScaleFactor = [[UIScreen mainScreen] scale]; 'を使って、OpenGL ESコンテンツをホストするUIViewのスケール係数を明示的に設定する必要があるかもしれません。 –

関連する問題