DXVK 2.5がスムーズなゲーム体験のために主要なメモリ管理の見直しを発表
DXVK 2.5は定期的なデフラグメンテーションでメモリを最適化し、VRAMコストを増加させることなく、ゲームパフォーマンスを向上させるための効率的なリソースの使用を可能にします。
DXVKは、Direct3D 9、10、11のためのVulkanベースの翻訳レイヤーで、主にWineやProtonを通じてLinux上のWindowsゲームのパフォーマンスと互換性を向上させるために使用されており、最新のアップデートであるv2.5がリリースされたばかりです。リソース管理や全体的なゲームパフォーマンスを改善するための多くの改良が詰まっています。それらを見てみましょう。
新しいリリースには、割り当てられたビデオメモリをより効率的に使用するように設計された完全に改良されたメモリ管理システムが搭載されています。この変更によりメモリの断片化が減少し、特定のゲームではピークメモリ使用量が大幅に減少する可能性があります。例えば、「ゴッド・オブ・ウォー」では、極端なシナリオの際にメモリ使用量が最大1GiB減少する可能性があります。
さらに、メモリのデフラグメンテーションは定期的に行われ、未使用のメモリがシステムに戻されます。これは大幅なメモリの削減ではなく、メモリの圧力がかかっている場合や大きな未使用メモリが検出されたときに行われる保守的な最適化です。
ただし、このデフラグメンテーション機能は現在IntelのANVドライバーでは無効になっていることに注意することが重要ですが、ユーザーは設定ファイルを通じて手動で有効にすることができます。
最適な結果を得るために、新しいメモリ管理は、VK_EXT_memory_budgetとVK_KHR_maintenance5の両方をサポートするドライバーで最も効果的に機能します。これにより、ゲーム全体でスムーズな機能が保証されます。DXVKドライバーのサポートページもこれに応じて更新されました。
この新しいリリースでは、D3D8およびD3D9ゲームの強化も導入されています。DXVK 2.5は、D3D9カーソルAPI用のエミュレーションされたカーソルをサポートしており、ゲームが任意の画像をカーソルとして設定できるようになっています。これにより、「ダンジョンシージ2」、「アクト・オブ・ウォー」、およびさまざまな古いD3D8ゲームにおける長年のカーソルの問題が解決されます。
別の大きな改善は、D3D9を使用するUnreal Engine 3ゲームに関するものです。以前は、これらのゲームがミップマップの詳細レベル(LOD)バイアスとして見かけ上初期化されていない値を渡すことができ、その結果、過剰なVulkanサンプラーオブジェクトが作成されることがありました。
これに対処するために、DXVKは未使用のVulkanサンプラーを動的に破棄するようにし、正しいLODバイアスが使用されることを保証することで、視覚的精度が向上します。この新しいソリューションは、LODバイアスの値を丸めていた従来の回避策を置き換え、時には視覚的な不正確さを引き起こすことがありました。
バグ修正とパフォーマンス向上の面では、DXVK 2.5はさまざまなゲームの改善をもたらします:
- レンダリング問題の修正: 「王位への昇進」、「コマンド & コンカー: ジェネラルズ」、「キングズバウンティ: 北の戦士たち」、および「トゥームレイダー: レジェンド」などのタイトルは、特定のレンダリング問題に対処するために、すべて対象を絞った修正を受けました。
- Nvidiaユーザー: ドライバーバージョン565.57.01以降では、正確性を向上させるために厳密な浮動小数点エミュレーションがデフォルトで有効になっています。さらに、このオプションがすでに有効になっているゲームでは、パフォーマンスの向上が期待できるかもしれません。
- モバイルGPU: 特定のモバイルGPUでのパフォーマンス向上の可能性を考慮した変更が行われ、より最適化されたゲーミング体験につながるはずです。
リソース管理はD3D11およびDXGIゲームに対しても大幅に見直されました。DXVKは今やリソースの作成、アップロード、廃棄を制限し、メモリの圧力を軽減しています。これは特に「トータルウォー: ローマ II」のような32ビットゲームにおける安定性にとって重要です。また、大きなダイナミックテクスチャはもはやステージングバッファを使用せず、より効率的なメモリ使用が実現されています。
このアップデートには、DXGIスワップチェーン用のSEQUENTIALスワップ効果の実装、特定のゲームにおけるロック競合の削減、さらに「コール オブ デューティ: モダン・ウォーフェア 2 キャンペーン リマスター」、「ディアブロ 4」、「ザ・シムズ 4」といったゲームにおけるレンダリングの問題修正など、いくつかのバグ修正も含まれています。
最後に、DXVK 2.5はdxvk-nativeのためにSDL3バックエンドを導入し、いくつかのゲームのVulkan検証エラーを解決し、オーバーラッピングオクルージョンクエリに関連する問題を修正しました。また、より良いドライバー側のメモリ管理を可能にするためにVK_EXT_pageable_device_local_memoryのサポートも含まれています。
DXVK 2.5のすべての変更に関する詳細情報は、変更ログをご覧ください。
