Release D9VK 0.40, Implementierung von Direct3D 9 über Vulkan

Es fand Projektveröffentlichung D9VK 0.40, das die Direct3D 9-Implementierung bereitstellt, die durch den Aufruf von Funktionen im Grafik-API vermittelt wird Vulkan. Das Projekt basiert auf dem Code des Projekts DXVK, das um die Unterstützung von Direct3D 9 erweitert wurde. Im Vergleich zur Direct3D 9-Implementierung auf Basis von WineD3D ermöglicht D9VK eine höhere Leistung, da die Übersetzung von Direct3D 9 über OpenGL langsamer ist als die Übersetzung über Vulkan.

D9VK kann verwendet werden, um 3D-Anwendungen und Spiele unter Linux mit Wine auszuführen. Die meisten Direct3D 9-Spiele, die Shader Model 2 oder 3 verwenden, werden unterstützt. Der Code des Projekts wird unter der GPLv3-Lizenz bereitgestellt. steht unter der freien Zlib-Lizenz. Für die Nutzung von D9VK sind Treiber erforderlich, die die Vulkan-API unterstützen, wie AMD RADV 18.3+, NVIDIA 415.22+, Intel ANV 19.0+ und AMDVLK.

Wesentliche Verbesserungen:

  • Die Möglichkeit, über 4 GB Video-RAM in 32-Bit-Anwendungen zu nutzen, wurde realisiert, was Probleme beim Starten von Mods für die Spiele Skyrim und Oblivion gelöst hat;
  • Die asynchrone Verarbeitung der Anzeigeergebnisse wurde implementiert (Präsentationsphase). Um die Verzögerungen im Haupt-Render-Thread zu verringern, erfolgt die Ausgabeverarbeitung im Befehlsübertragungs-Thread;
  • Überflüssige Synchronisationspunkte im Befehlsstrom beim Abrufen angeforderter Daten wurden entfernt;
  • Der Code zur Bestimmung der internen Zeit wurde auf die Verwendung eines plattformspezifischen Timers umgestellt, was Probleme mit dem fehlerhaften Verhalten des high_resolution_clock von MinGW behoben hat;
  • Die Auslagerung der verzögerten MANAGED- und SYSTEMMEM-Puffer vor der Ausführung von PrepareDraw wurde sichergestellt, was die Leistungsprobleme in den Spielen Risen und Legend of the Heroes: Trails of the Sky behoben hat;
  • Unterstützung für D3DTA_CONSTANT, was eine korrekte Rendering-Implementierung ermöglichte des Glüheffekts in den Spielen SpinTyres und Mudrunner;
  • Die Kompatibilität mit DirectX 9Ex wurde verbessert (D3D9Ex). Die Besonderheiten der Behandlung von ResetEx und Reset wurden berücksichtigt;
  • Der Code wurde bereinigt und refakturiert;
  • Eine direkte Abbildung der WRITEONLY-Puffer wurde sichergestellt, was sich positiv auf die Leistung auswirken und einen Fehler im Spiel
    Counter-Strike: Global Offensive, der zu einer fortlaufenden Aufnahme in den Puffer nach dessen Entsperrung führt, umgehen kann;
  • Die Methode wurde implementiert SetDialogBoxMode, das die Verwendung von Dialogfenstern in Vollbildanwendungen ermöglicht;
  • Unterstützung für Vertex-Mixing, darunter indexiertes Vertex-Mixing, welches für SWVP (Software Vertex Processing) notwendig ist;
  • Der Zähler des Samplers wurde über dem aktuellen Bild (Heads-up-Display, HUD) neu gestaltet;
  • Die Option d3d9.dialogBoxMode wurde hinzugefügt, um den Betrieb nur im Vollbildmodus zu deaktivieren;
  • Leistungsoptimierungen wurden vorgenommen und Probleme behoben, die beim Start von Spielen wie GTA: San Andreas, The Masquerade Bloodlines, Max Payne 2, The Sims 2, Silent Hunter 3, Senran Kagura Shinovi, Dungeons and Dragons, Crysis, Metal Slug X, ANGLE, Need for Speed: Carbon und Risen 1 auftreten;

speziellen Distribution Absicht Projektentwickler DXVK (Implementation von DXGI, Direct3D 10 und Direct3D 11 über die Vulkan-API) konzentriert sich vorübergehend nur auf die Behebung von Fehlern und verlangsamt die Erweiterung der Funktionalität. Ein solches Bestreben ist bedingt durch resultiert aus Bedenken über die Qualität der Codebasis und die zukünftige Wartung. Jedes Update der Version 1.4.x führt zu Beschwerden über regressiv Änderungen, die sich nicht reproduzieren, lokalisieren oder beheben lassen.

Diese Probleme erfordern eine Untersuchung der Ursachen, da das unbehebbare Weiterführen der Funktionalität die Situation nur verschärfen und den Wartungsprozess zu einem Albtraum machen kann. Zu den Plänen, die der DXVK-Entwickler bis zum Wechsel in den Fehlerbehebungsmodus umsetzen möchte, gehört die Unterstützung von nützlichen Vulkan-Erweiterungen sowie die Verschmelzung mit den Fortschritten des D9VK-Projekts.

Zusatz: im Anschluss daran vor zwei Wochen gebildet und ist nun als bereit für den Einsatz anerkannt. Über EPEL erhalten Nutzer von Red Hat Enterprise Linux-kompatiblen Distributionen ein zusätzliches Paketangebot aus Fedora Linux, das von den Communitys von Fedora und CentOS unterstützt wird. Binärpakete werden für die Architekturen x86_64, aarch64, ppc64le und s390x bereitgestellt. der Korrekturversion D9VK 0.40.1, in der behoben wurde das Standardwert für COLOR0 in den Vertex-Shadern auf vec4(1) und der Fehler beseitigt wurde, bei dem die Slot-Bits für Shader-Ausgaben standardmäßig falsch angewendet und somit inkorrekt vom Backend korrigiert wurden, was zu deren Ersetzung durch vec4(0) führte.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster