2
最新のGPUで頂点データを整理する最もパフォーマンスの高い方法
私が頂点で構成モデルでは、各持っていると言うposition、normal、tangent、およびtexcoord三角形がインデックストリプルによって指定された属性を、。 頂点の属性だけに注目すると、配列の構造と構造の配列という2つの広範な戦略に気づきます。また、構造体の配列は、特定の頂点の属性のメモリの局所性(したがってキャッシュの局所性)を増加させるため、優先されると聞きました。 これが実際にパフォーマンスを向上させるのですか?これが起こると私が考えることができる主な方法は、長い間キャッシュから削除された頂点データをラスタライザが取得する必要がある頂点インデックスによるものです。頂点データへのアクセスがこのようにランダムである場合、同じキャッシュライン上の頂点のすべての属性を保持すると、確実に処理が速くなりますが、これは、三角形の指定の順序を最適化することでほとんど軽減できる問題ではありませんか? さらに、最近のGPUは、多くのタイプの構造のベクトルよりも、同じタイプの長いベクトルをアンパックする方が優れている可能性があることを理解しています。インデックスの順序が最適化されている場合、配列構造のレイアウトが同じ頂点データの構造配列のレイアウトを一貫して上回ることは可能でしょうか?