Meta Questのマルチサンプリングアンチエイリアシング分析
マルチサンプリングアンチエイリアシング(MSAA)は、コンピューターグラフィックの品質を向上するための技術です。PCベースのプラットフォームでMSAAを使用すると、Meta Questでこの技術を使用する場合よりもコストを抑えることができます。レンダリングしているコンテンツの量と、実行中のアプリのGPUレベルに応じて、MSAAを使用する全体的なオーバーヘッドは、フレームあたり0.5ミリ秒から1.5ミリ秒の範囲になります。
一般的に、Questデバイスのアプリでは、ほとんどの場合にMSAAを使用する必要がありますが、4x MSAAサンプリングを超過しないようにしてください。MSAAをさらに増加するよりも、より解像度の高いレンダリングターゲットに対してGPU時間を使うことをおすすめします。
次のテストおよびサンプル画像は、さまざまな種類のアプリでQuestデバイスに対してMSAA 4xをオンまたはオフにした結果を示しています。
テスト仕様
- アイバッファ解像度1216×1344
- ハードウェア: Meta Quest
テスト1: フラグメントGPUの負荷が通常のアプリ このテストは、ライティングを含むUnityの簡単なシーンを使用して実施されました。
テスト結果
指標 | MSAAオフ | MSAA 4xオン |
---|
レンダリングコスト | 2.65ミリ秒 | 3.15ミリ秒 |
解像コスト | 0.17ミリ秒 | 0.44ミリ秒 |
レンダリングする画像

テスト2: フラグメントシェーダーの負荷が高いアプリ このテストは、マンデルブロ集合のビジュアリゼーションを含むシーンを使用して実施されました。
テスト結果
指標 | MSAAオフ | MSAA 4xオン |
---|
レンダリングコスト | 10.449ミリ秒 | 11.497ミリ秒 |
解像コスト | 0.313ミリ秒 | 0.626ミリ秒 |
レンダリングする画像:

テスト3: 頂点シェーダーの負荷が高く、フラグメントの負荷が低いアプリ このテストは、ポイントレンダリングを含む負荷の高い頂点シーンを使用して実施されました。このテストは、多数のほとんど目に見えない小さな頂点を特徴としています。これは、ビニングに与えるMSAAの影響を示しています。MSAAがオンかオフかに関係なく、ビニングコストにはほとんど差がなく、1.419ミリ秒と1.534ミリ秒です。Qualcommのビニングアルゴリズムのビンカウントは、約O(1)であり、良好と考えられます。
テスト結果
指標 | MSAAオフ | MSAA 4xオン |
---|
ビニング | 1.419ミリ秒 | 1.534ミリ秒 |
レンダリングコスト | 0.4ミリ秒 | 1.38ミリ秒 |
解像コスト | 0.14ミリ秒 | 0.43ミリ秒 |
レンダリングする画像

このテストは、わずかなGPU負荷のシーンについて実施されました。このテストは、GPUにほとんど負荷がない場合の純粋なオーバーヘッドを把握することを意図しています。このテストにより、MSAAがオフになっている場合、解像コストはほとんど発生しないことが分かります。この簡単なケースでは、ドライバーはスマートに、タイラーにレンダリングした後でタイラーからシステムメモリにコピーするのではなく、システムメモリに直接レンダリングします。
Qualcommでは、MSAAがオフの場合にのみ直接レンダリングができます。ほとんどの場合、アプリが非常に複雑であるため、直接レンダリングは有効ではありません。より小規模なRTにクワッドをレンダリングする必要がある場合など、特殊なケースでは、この直接レンダリングによってコストの一部を節約することができます。また、Qualcommでは、ドライバーによる決定を許可しない場合に、直接レンダリングをするかどうかを制御する拡張機能が提供されています。
テスト結果
指標 | MSAAオフ | MSAA 4xオン |
---|
レンダリングコスト | 0.044ミリ秒 | 0.388ミリ秒 |
解像コスト | 0.0ミリ秒 | vs 0.44ミリ秒 |
レンダリングする画像

MSAAにより若干の追加コストが発生します。
レンダリングの比較
このテストは、MSAAを使用すると、シーンのフラグメント複雑性が増加するにつれて、多少のコストは発生するものの、レンダリングオーバーヘッドの割合が減少することを示しています。例えば、複雑性が中程度のアプリで4x MSAAを有効にすると、MSAAによりオーバーヘッド時間が約10~15 %増加すると考えられます。
- GPU 2: 頂点シェーダーの負荷が高く、フラグメントの負荷が低い: 0.4ミリ秒(MSAAオフ)と1.38ミリ秒(MSAA 4x)
- GPU 2: フラグメントの負荷が通常: 2.65ミリ秒(MSAAオフ)と3.15ミリ秒(MSAA 4x)
- GPU 4: フラグメントの負荷が高い: 10.449ミリ秒(MSAAオフ)と11.497ミリ秒(MSAA 4x)
解像の比較
解像コストの差異は、GPU負荷に関係なく、同じGPUレベルでは一定です。Qualcommによれば、4x MSAAのビンカウントが多いことが原因で、解像コストに差異が生じます(ただし、ビンあたりのコストはほぼ同じ)。
- GPU 2: 0.17ミリ秒(MSAAオフ)と0.44ミリ秒(MSAA 4x)
- GPU 4: 0.14ミリ秒(MSAAオフ)と0.30ミリ秒(MSAA 4x)
一部のオーバーヘッドは、これらのテストで使用されるプロファイラーが原因で発生している場合があり、解像コストにおける実際の差異は、より小さい可能性があることも考慮してください。