Die Veröffentlichung der D7VK 1.12, die die Implementierung der grafischen APIs Direct3D 3, 5, 6 und 7, die von Microsoft in den Jahren 1996, 1997, 1998 und 1999 vorgeschlagen wurden, weiterentwickelt. D7VK arbeitet durch die Übersetzung von API-Aufrufen in Vulkan und ermöglicht es, mit Wine Retro-Spiele, die auf den APIs Direct3D 3, 5, 6 und 7 basieren, unter Linux auszuführen. Der Quellcode des Projekts ist in C++ geschrieben und unter der Zlib-Lizenz veröffentlicht. Der Code des d3d9-Backends aus dem DXVK-Projekt wurde als Grundlage verwendet — D7VK wandelt die APIs Direct3D 3, 5, 6 und 7 in Aufrufe von Direct3D 9 um, die dann in die Vulkan-API übersetzt werden. Der Entwickler hat nicht die Absicht, D7VK in DXVK zu integrieren, wie es bei den Implementierungen von Direct3D 8 und Direct3D 9 über Vulkan der Fall war.
In der neuen Version:
- Eine Reihe von Leistungsoptimierungen wurde umgesetzt, die hauptsächlich den auf der CPU ausgeführten API-Code betreffen. Die Leistung von D3D6 im 3DMark 99 Max-Test stieg von 70685 Punkten in D7VK 1.2 auf 75283 in D7VK 1.12, und D3D7 im 3DMark 2000 v1.1 von 45267 in D7VK 1.0 auf 69566 in D7VK 1.12. In bestimmten Situationen ermöglichten die vorgenommenen Mikrooptimierungen eine signifikante Steigerung der FPS auf Systemen mit schwachen CPUs, zum Beispiel stieg die FPS in Unreal Tournament von 256 auf 484, während die GPU-Auslastung von 37 % auf 18 % gesenkt wurde.
- Die Implementierung der Transparenz basierend auf dem Schlüssel-Farbmodell (Color Key) wurde ohne Verwendung eines vollständigen Alpha-Kanals vereinfacht.
- In D3D6/5/3 wurden die Farbkonvertierungen beim Löschen des Viewports optimiert.
- Um die Anzahl der verwendeten Deskriptoren (Handles) zu reduzieren, erfolgt die Zuweisung von Textur- und Materialdeskriptoren jetzt nach einer Anfrage durch die Anwendung und nicht zum Zeitpunkt der Erstellung der Textur oder des Materials.
- Es wurde auf die Arbeit über die Veröffentlichung von DXVK 3.0.1 umgestellt.
- Es wurden Korrekturen vorgenommen, die die Unterstützung von Spielen wie Matrox TechDemo 3D, Star Trek: Starfleet Academy und The Sims: Complete Collection verbessern.
Quelle: opennet.ru
