私は、vulkanでレンダリングする深度テスト/ブレンディング関数などの異なるテクスチャ/パイプライン構造を持つ複数のメッシュを持っています。パフォーマンス面でのレンダリングのベストプラクティスは何ですか? nは何も、レイアウト、記述子、サンプラー、または何もそれらの間で共有されていないと噛み合っているためvulkanで複数のメッシュをレンダリングするためのベストプラクティス
1つのオプションは、n個のスレッドをn個のコマンドバッファを作成することです。私はこれと一緒に行く場合は、私は2番目のコマンドバッファを使用する必要があります1プライマリまたはそれらのすべてがセカンダリだろうか?
n個のメッシュをレンダリングし、n個のパイプラインを作成し、ユニフォームと頂点データ用にn個のバッファを作成します。コマンドバッファの記録を開始し、ループ内で異なるパイプライン、バッファを持つn個のメッシュに対してvkcmdDrawを呼び出します。私はこのアプローチでレンダリングすることができます。しかし、私はそれをより速くするためにマルチスレッドを使用するのですか?
または他の方法ですか?
Vulkanの質問をアップしてみようと思います。 – Krythic
さて、 'vkQueueSubmit()'で使用するプライマリCBにする必要があります – krOoze
どのような種類の "プロパティ"について話していますか?パイプライン構造(深度テスト)と記述子データ(テクスチャ)は区別されます。前者*は2つのオブジェクト間で共有することはできませんが、後者は共有することはできません。また、「2つのメッシュのレンダリングの間に何かを共有しようとすると、同期が必要になります。*「なぜ何かを共有するには同期が必要ですか? –