あなたのディスクリプタプールの理解は正しいです。
もしそうなら、私は事前にどれくらいの数を必要とするかをどのようにして決定するのですか?
これは、あなたとあなたのアプリケーションのニーズに左右されます。
アプリケーションが完全に柔軟でフリーフォームである必要がある場合は、必要に応じてディスクリプタプールを動的に作成する必要があります。あなたのアプリケーションがシーンがどのように見えるかについての先見性があれば、アプリケーションはそのような体操を必要としません。
多くの深刻なVulkanアプリケーションは、シーン内のオブジェクトの数に基づいて記述子セットの数を避けるようにしています。プッシュ定数および/または動的UBO/SSBO記述子は、ディスクリプタ自体を変更することなく、異なるオブジェクトごとの状態を使用することを可能にする。多くのオブジェクトのテクスチャは、アレイテクスチャにまとめて、またはハードウェア、テクスチャの配列に応じてバンドルすることができます。完璧な世界では
、タイプ(たとえば、肌のメッシュ)の全てのメッシュは、そのオブジェクトの右のマトリックス/テクスチャデータをフェッチするために、いくつかのオブジェクトごとの状態を使用して、まったく同じ記述子セットでレンダリングすることができます。
しかし、それはどのようにレンダリングされます。このようなアプリケーションは、レンダリングするオブジェクトの種類、オブジェクトごとのデータの外観などを堅固に制御します。他のアプリケーションでは、さまざまなニーズがあります。
バルカンはツールです。どのように使用するかはまったくあなた次第です。
不足するとどうなりますか?
次に、そのプールからさらに多くのディスクリプタを割り当てることはできません。別のディスクリプタセットを割り当てる必要がある場合は、別のプールを作成する必要があります。