私はちょうどvulkanの学習を始め、いくつかのチュートリアル/サンプルを見てみました:誰もが一様な読み込みのために1つの構造体を使用し、すべての関連データ(モデル、等。)。これらの構造体は、フレームごとに完全に更新されます。複数のDescriptorSetsの使用より多くのユニフォームの更新
私の質問:これは、ライターが「怠け者」であり、別個の周波数に対して別々のアンフォフォームを作成するのではなく(例:投射のように1回だけロードする必要があるためです)、追加セットアップ、または1つの "大きな"構造体を複数のセットを作成するよりも頻繁にロードするとパフォーマンスが向上するためです。
私は私の例だけ話すことができ、私はそれを単純に(Vulkanで可能な限り)維持しようとします。そのため、私はUBOごとに1つのディスクリプタセットしか使用しません。複数のセットを示す例がリストにありますが、まだ完成していません。しかし、投影行列のような静的なものでは、専用DSの代わりにプッシュ定数を使うことができます。 –
@SaschaWillems私が参照していたのはあなたの例(Alexander Overvoordeのもの)でした。一見すると、彼らはかなり怪物ですが、コードを読めば、彼らはかなりシンプルです。彼らはvulkanで始めるための大きな助けでしたので、私はこれらの例を提供するためにあなたに個人的に感謝したいと思います。 – Dynamitos