バーテックスキャッシュの正しいサイズの設定¶
GPUには特定のサイズの頂点キャッシュがあります。キャッシュからメッシュの頂点にアクセスすることは、メモリの他の場所から頂点にアクセスするよりも桁違いに高速です。キャッシュヒットの量が最適になるように、頂点バッファ内の頂点とインデックスを並べ替えることで、特定のキャッシュサイズに対してメッシュデータを最適化できます。
たとえば 16 バイトのバーテックスキャッシュには、Position + Normal + Texcoord (XYZ * 2 + XYZ * 2 + UV * 2) を格納できますが、Position + Normal + Texcoord + Color を格納するには小さすぎます。
ターゲットハードウェアに適したバーテックスキャッシュの正しいサイズを設定するには:
ターゲットハードウェアのバーテックスキャッシュサイズを確認します。
Kanzi Studio で、Project > Properties を選択し、Binary Export のプロパティカテゴリーの Properties で設定します。
Optimize Meshes を有効にする
Optimize Meshes プロパティを有効にすると、Kanzi Studio はエクスポートされたメッシュの頂点キャッシュを、Target Vertex Cache Size プロパティで設定したサイズを使用するように設定します。
Target Vertex Cache Size をターゲットデバイスのキャッシュサイズ(バイト単位)に
Default Vertex Attribute Data Type を頂点バッファ属性に使用したいデータ型に変更します。
メッシュのバーテックスバッファには、Kanzi がバーテックスシェーダーにデータを送るために使用する一連の属性が含まれています。
例えば、Default Vertex Attribute Data Type プロパティを Half-float に設定すると、Float と比較してメッシュデータのサイズが半分になりますが、メッシュの精度も低下します。