プロジェクトのリリース 、グラフィックス API への呼び出しを変換することで動作する Direct3D 9 実装を提供します。 。プロジェクトはプロジェクトのコードベースに基づいています これは、Direct3D 9 をサポートするように拡張されています。OpenGL を介した Direct3D 9 の変換は、Vulkan を介した変換よりも遅いため、WineD3D ベースの Direct9D 3 実装と比較して、D9VK はより優れたパフォーマンスを実現します。
D9VK を使用すると、Wine を使用して Linux 上で 3D アプリケーションやゲームを実行できます。シェーダー モデルのバージョン 3 または 9 を使用する Direct2D 3 に基づくほとんどのゲームがサポートされています。プロジェクトコード 無料の Zlib ライセンスに基づいて。 D9VK には、AMD RADV 18.3 以降、NVIDIA 415.22 以降、Intel ANV 19.0 以降、AMDVLK などの Vulkan API をサポートするドライバーが必要です。
主な改善点:
- 4 ビット アプリケーションで 32 GB を超えるビデオ メモリを使用できる機能が実装され、ゲーム Skyrim と Oblivion の MOD を起動するときの問題が解決されました。
- レンダリング結果を画面に表示する非同期処理が有効になります(プレゼンテーション段階)。メインのレンダリング スレッドでの待ち時間を短縮するために、出力処理はコマンド送信スレッドで実行されます。
- 要求されたデータを取得するときに不要なコマンド フロー同期ポイントを削除しました。
- 内部時間を決定するコードは、プラットフォーム固有のタイマーを使用するように変換されました。これは、MinGW からの high_resolution_ Clock の誤った動作に関する問題の解決に役立ちました。
- 遅延バッファ MANAGED および SYSTEMMEM は、PrepareDraw の実行前の段階でアンロードされ、ゲーム Risen および Legend of the Heroes: Trails of the Sky のパフォーマンスの問題を解決しました。
- 追加されたサポート 、これにより正しいレンダリングを実装できるようになりました。 SpinTyres と Mudrunner ゲームで。
- との互換性の向上 (D3D9Ex)。 ResetEx および Reset の処理の詳細が考慮されます。
- クリーンアップされリファクタリングされたコード。
- WRITEONLY バッファの直接マッピングが提供されており、パフォーマンスにプラスの効果をもたらし、ゲームのバグを回避できます。
Counter-Strike: Global Offensive。ロックが解除された後もバッファへの書き込みが継続されます。 - 実装されたメソッド 、全画面アプリケーションでダイアログ ボックスを使用できるようになります。
- サポートの実施 含む 、SWVP (ソフトウェア頂点処理) に必要です。
- 現在の画像 (ヘッドアップ ディスプレイ、HUD) の上に表示されるサンプラー カウンターが再設計されました。
- 全画面モードでのみ動作することを無効にするために使用できるオプション d3d9.dialogBoxMode を追加しました。
- パフォーマンスの最適化を行い、GTA ゲームの起動時に発生した問題を解決しました: San Andreas、The Masquerade Bloodlines、Max Payne 2、The Sims 2、Silent Hunter 3、閃乱カグラ SHINOVI、ダンジョンズ アンド ドラゴンズ、Crysis、メタル スラッグ X、ANGLE、Need forスピード:カーボンとライゼン1。
さらに、注目できるのは、 プロジェクト開発者 (Vulkan API 上での DXGI、Direct3D 10、および Direct3D 11 の実装) は一時的にバグ修正のみに重点を置き、機能の拡張が遅くなります。同じような願望 コードベースの品質が低下し、将来的にメンテナンスがより困難になるという懸念があります。 1.4.x ブランチへの更新ごとに、再現、ローカライズ、修正できない退行的な変更に関する苦情が発生します。
これらの問題には、発生理由の分析が必要です。分析しないと、機能を拡張し続けながら問題を修正しないまま放置すると、状況が悪化するだけであり、メンテナンス プロセスが悪夢に変わる可能性があります。 DXVK 開発者がバグ修正のみのモードに切り替える前に実装する予定の計画には、いくつかの便利な Vulkan 拡張機能のサポートの追加と、D9VK プロジェクトの開発との統合が含まれます。
追加: かかとが熱い 修正リリース D9VK 0.40.1。 vec4(1) を頂点シェーダーの COLOR0 のデフォルト値に設定し、デフォルトのシェーダー出力スロット ビットが誤って適用されたためバックエンドによって誤って修正され、vec4(0) に置き換えられるバグを修正しました。
出所: オープンネット.ru
