パフォーマンス
スプラットのレンダリングは、CPUとGPUの両方で負荷が高くなる場合があります。良好なパフォーマンスを達成するための戦略をいくつか紹介します:
Gaussian数の制限
シーン内のGaussian数に注意してください。すべてのGaussianは毎フレームカメラの深度でソートされます。特定のGSplatアセットに含まれる数は、SuperSplat EditorのSPLAT DATA Panelを使用して確認できます。SuperSplatを使用して、PLYファイルから不要なGaussianをトリミングしてください。
大規模なシーンでは、カメラ距離に基づいて適切な詳細レベルを動的にロードするLODストリーミングの使用を検討してください。これにより、最も重要な場所で視覚品質を維持しながら、任意の時点でアクティブなGaussian数を大幅に削減できます。
フィルレートの考慮事項
3D Gaussian Splattingは、フィルレート(フラグメント操作)の観点で特に負荷が高いです。これは以下の理由によります:
- 高いオーバードロー:各Gaussianスプラットはテクスチャ付きビルボード(クワッド)としてレンダリングされ、多くの他のスプラットと重なることが多い
- 透明度ブレンディング:スプラットはスムーズな外観を実現するためにアルファブレンディングを使用し、高価なフラグメントごとのブレンディング操作が必要
- フラグメント密度:密集したスプラットクラウドでは、各最終ピクセルに対して数十から数百のフラグメントが処理される可能性がある
この高いフラグメントコストが、3DGSパフォーマンスにおいてピクセル数とレンダリング設定の最適化が重要である理由です。
シーン設定の構成
Gaussian splattingのフラグメント重視の性質を考えると、これらの設定はパフォーマンスに大きな影響を与えます:
Anti-Aliasを無効にする:アンチエイリアシングはピクセルごとに処理されるフラグメント数を増加させ、スプラットレンダリングでは特にコストがかかるDevice Pixel Ratioを無効にする:これにより全体的なピクセル解像度が下がり、処理が必要なフラグメント数が直接削減される
両方の設定は、3DGSレンダリングの主なボトルネックであるフラグメント処理負荷の削減に役立ちます。