Sortie de DXVK 1.10 et VKD3D-Proton 2.6, implémentations Direct3D pour Linux

La version de la couche DXVK 1.10 est disponible, fournissant une implémentation de DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 et 11, fonctionnant via la traduction des appels vers l'API Vulkan. DXVK nécessite des pilotes prenant en charge l'API Vulkan 1.1, tels que Mesa RADV 20.2, NVIDIA 415.22, Intel ANV 19.0 et AMDVLK. DXVK peut être utilisé pour exécuter des applications et des jeux 3D sur Linux à l'aide de Wine, servant d'alternative plus performante aux implémentations Direct3D 9/10/11 intégrées de Wine fonctionnant sur OpenGL.

Les principaux changements:

  • Suppression des gestionnaires de synchronisation de threads inutiles utilisés lors du chargement des ressources dans les implémentations D3D11 et D3D9. Le changement a considérablement amélioré les performances d'Assassin's Creed : Origins et d'autres jeux basés sur le moteur AnvilNext, et a également eu un effet positif sur les performances d'Elex II, God of War et GTA IV.
  • Optimisation de l'utilisation de D3D11_MAP_WRITE pour les ressources chargées dans le GPU, ce qui a amélioré les performances du jeu Quantum et potentiellement d'autres applications.
  • Optimisation de l'opération UpdateSubresource pour la mise à jour de petits tampons fixes. Le changement a eu un impact positif sur les performances de God of War et éventuellement d'autres jeux.
  • Le traitement des ressources de chargement et des tampons intermédiaires dans D3D11 a été accéléré. Le changement a réduit la charge du processeur dans certains jeux.
  • Ajout d'informations au HUD de débogage qui sont utiles pour diagnostiquer les problèmes de performances, telles que les informations de synchronisation.
  • Le code de synchronisation du GPU a été éliminé des cycles d'attente chargés, ce qui a réduit la consommation d'énergie des appareils mobiles dans certains jeux.
  • Ajout d'un stub pour appeler 3D11On12CreateDevice, ce qui provoquait auparavant le crash des applications.
  • Les performances des jeux Total War : Warhammer III, Resident Evil 0/5/6, Resident Evil : Revelations 2 ont été améliorées.
  • Des problèmes ont été résolus dans les jeux ArmA 2, Black Mesa, Age of Empires 2 : Definitive Edition, Anno 1800, Final Fantasy XIV, Nier Replicant, The Evil Within.

De plus, Valve a publié la version de VKD3D-Proton 2.6, un fork de la base de code vkd3d conçu pour améliorer la prise en charge de Direct3D 12 dans le lanceur de jeux Proton. VKD3D-Proton prend en charge les modifications, optimisations et améliorations spécifiques à Proton pour de meilleures performances des jeux Windows basés sur Direct3D 12, qui n'ont pas encore été adoptés dans la partie principale de vkd3d. Parmi les différences, l'accent est également mis sur l'utilisation d'extensions Vulkan modernes et sur les capacités des dernières versions de pilotes graphiques pour obtenir une compatibilité totale avec Direct3D 12.

Dans la nouvelle version:

  • Les problèmes dans Horizon Zero Dawn, Final Fantasy VII : Remake et Warframe, Guardians of the Galaxy, Elden Ring et Age of Empires : IV ont été résolus.
  • DXIL a amélioré le code shader généré pour les opérations de chargement et de stockage vectorisées.
  • Charge CPU réduite lors de la copie des descripteurs.
  • La bibliothèque de pipeline D3D12 a été réécrite pour fournir la mise en cache de la vue SPIR-V générée à partir de DXBC/DXIL. Le changement a permis des temps de chargement plus rapides pour des jeux tels que Monster Hunter : Rise, Guardian of the Galaxy et Elden Ring.
  • Le modèle de shader 6.6 est entièrement implémenté, y compris la prise en charge de l'accès direct à ResourceDescriptorHeap[], les opérations atomiques 64 bits, la méthode IsHelperLane(), les shaders de calcul dérivés, l'attribut WaveSize et les intrinsèques mathématiques packagés (Intrinsics).

De plus, on peut noter la publication par Valve du code SteamOS Devkit Service et SteamOS Devkit Client avec la mise en place d'un serveur et d'un client qui vous permettent de télécharger des assemblages de vos propres jeux directement depuis votre ordinateur vers le Steam Deck, ainsi que d'effectuer débogage et autres tâches connexes qui surviennent au cours du processus de développement.

Source: opennet.ru

Ajouter un commentaire