Valveは、Steam Play向けにDirect3D 12をVulkanに変換するコンポーネントであるVKD3D-Protonをアップデートし、VK_EXT_descriptor_heapのサポートを追加しました。Vulkan 1.4.340から利用可能なこの拡張機能により、ディスクリプタメモリを直接制御できるようになり、移植性が向上し、Direct3D 12を使用するゲームでより安定したパフォーマンスを実現します。
VK_EXT_descriptor_heap拡張機能の仕組み 🛠️
この拡張機能は、ディスクリプタの自動管理を明示的な管理に置き換え、開発者がグラフィックリソースのメモリを割り当ておよび解放できるようにします。これにより、NVIDIAなどのドライバにおけるボトルネックが回避され、動的割り当てが要求の厳しいタイトルでパフォーマンスの低下を引き起こしていました。制御をユーザーに委ねることで、ドライバ呼び出しが削減され、特に多くのオブジェクトやテクスチャがあるシナリオで、より予測可能なパフォーマンスが実現します。
ディスクリプタが謎ではなくなった日 🎲
これまで、ドライバはディスクリプタを洗濯機で失くした靴下のように扱っていました。つまり、好きなときに現れて、時々詰まっていました。この拡張機能により、開発者はこれを自分で制御すると言えるようになり、NVIDIAドライバは無駄な処理をしなくなります。まるで運任せのゲームから取扱説明書に移行するようなものですが、きっと一部のプログラマーはすでにカオスの興奮を懐かしんでいることでしょう。