Performance-Verbesserung durch Umstellung von Directx9 auf Directx12

  • Hallo zusammen.


    Ich möchte euch an dieser Stelle eine kleine Veränderung vorstellen, welche besonders bei älteren/ schwächeren Systemen einen enormen Schub an FPS bewirken kann:


    Die Umstellung von DirectX9 auf DirectX12.


    -----------------------------------------------------------------------


    Was sind die Vorraussetzungen?


    1. Windows 7 64bit, oder Windows 10 64bit -mit Windows 8, bzw. 8.1 funktioniert es nicht.


    2. Eine DirectX12 fähige Grafikkarte.


    Auch solltet ihr zumindestens über 6 GB Arbeitsspeicher; die GPU mindestens über 1 GB VRAM, lvl 11 support und shader model 5.1 verfügen.

    Ich halte die Anforderungen für sehr niedrig, empfehlenswert wären natürlich 16 GB RAM, 4+ VRAM, lvl 11.1.


    ------------------------------------------------------------------------


    Was bringt das?


    Nun, DirectX9 ist veraltet, GW2 basiert aber darauf. DirectX12 ist aktuell, bringt mehr Leistung, Features und benötigt dafür sogar weniger Rechenleistung.


    Wieviel Zuwachs an FPS hängt von eurem System ab. Ein Beispiel wäre:


    i7-7700/GTX960:


    Code
    @5.5k batches, all max, 1080p, v0.9.9.3a
    
    dx9  min FPS: ~6.2  max FPS: ~24.1
    dx12  min FPS: ~20.9  max FPS: ~31.5
    boost:  min FPS: ~237%  max FPS: ~30%


    Ich nutze seit Anfang Dezember ein System mit:


    Ryzen 5 3600

    B550 Mainboard

    2x8GB DDR4 3200 RAM

    1TB NVMe PCIe M.2 SSD

    R9 380 OC 4GB Vram


    Wie ihr vielleicht feststellt: es hapert an der GPU (Ich war dumm. Dachte: Ich warte auf die "Cyberweek", da kann ich bestimmt etwas sparen. Wie dämlich dies war -nun, schaut euch den Grafikkartenmarkt seit der Cyberweek an^^).


    Durch Zufall (DuckDuckGo statt Google) fand ich vor einiger Zeit die Seite: https://github.com/megai2/d912pxy


    Anschließend war ich sehr überrascht: Ich konnte die Grafikeinstellungen höher setzen, kam aber trotzdem auf einmal auf 70+ FPS in Löwenstein, 90 FPS im WVW (selbst in Extremsituationen, wie 50er Zerg in Zange mit 2 gegnerischen Zergs und Ansturm auf eine Festung, Effektgewitter, falle ich nicht unter 35 FPS)...


    Wie hoch der Zuwachs war/ ist kann ich leider nicht belegen. Habe vorher keine Screens gemacht und die alten Shader gelöscht -ging aber so in Richtung 40 FPS^^


    --------------------------------------------------------------------------


    Was muß ich beachten?


    Nutzt ihr Mods und/ oder Overlays, welche auf DirectX9 basieren -nun, die werden vermutlich nicht mehr funktionieren.


    Ladezeiten werden sich zunächst verlängern und ihr erfahrt ungewöhnlich viele "Pop-ups". Dies hat einen einfachen Grund: GW2 rendert auf Basis eures Systems/ eurer Einstellungen Shader-Modelle. Durch die Umstellung auf DirectX12 gibt es noch keine -diese müssen erst erstellt werden. Das läßt sich jedoch größtenteils umgehen -ihr könnt Packete mit vorgeränderten Modellen implementieren.


    --------------------------------------------------------------------------


    Kann ich die Änderung rückgängig machen?


    Ja, sogar sehr einfach. Eine "uninstall.exe" ist mit dabei.

    De- und Neuinstallieren von GW2 ist nicht notwendig.


    --------------------------------------------------------------------------


    OK, ich mag´s probieren -was muß ich tun?


    Die Gesamtübersicht findet ihr auf: https://github.com/megai2/d912pxy


    Wer genügend der englischen Sprache mächtig ist findet dort alle benötigten Informationen und Downloads ;)


    Ansonsten:


    ---------------------------------------------------------------------------


    Eine kleine Anleitung


    1. Deaktiviert evtl. aktivierte Overlays/ Mods (notfalls löscht einfach den kompletten "bin64"-Ordner in eurem "Guild Wars 2"-Ordner; dieser wird beim nächsten Spielstart neu erstellt).


    2. Stellt das Spiel (für den unwahrscheinlichen Fall, daß ihr dies nicht längst gemacht habt) in den Grafikeinstellungen auf "Fenster", oder "Vollbild im Fenster" um.


    3. Updatet Microsoft Visual C++ (https://support.microsoft.com/…ea-4433-9aff-95f26a218cc0), euer Windows und Grafikkartentreiber -solltet ihr eigentlich eh ständig machen ;)


    4. Ladet euch die neueste version des Proxies runter: https://github.com/megai2/d912pxy/releases. Aktuell: https://github.com/megai2/d912…d912pxy_v2.4.3.2_r687.zip


    5. Entpackt den kompletten "d912pxy"-Ordner in euer GW2 Stammverzeichnis. Damit meine ich den kompletten Ordner -nicht nur den Inhalt. Der Ordner steht somit am gleichen Ort, wo ihr auch die "Gw2-64.exe" findet.


    6. Öffnet den "d912pxy"-Ordner und führt die "install.exe" aus. Im nun aufploppenden cmd-Fenster bestätigt ihr nun alles ("Enter" drücken reicht) im letzten Schritt empfehle ich euch die "3" zu drücken: "clear shader cache".


    7. Möglichkeit 1: Startet das Spiel. Ihr bekommt eine Overlay-Einblendung, daß DirectX12 nun aktiv ist. Hier könnt ihr auswählen, ob diese Meldung ständig, oder nur einmalig angezeigt wird. Nach etwas längerer Ladezeit dürft ihr euch nun in meinem Fall (-wollte es mal testen) an einer blauen Polygonwelt erfreuen, welche nach und nach mit Texturen gefüllt wird -die neuen Shader-Modelle werden erstellt.

    Möglichkeit 2: Nutzt ein Pre-Rendered-Pack: https://github.com/megai2/d912pxy/wiki/Shader-packs. Aktuell: https://drive.google.com/drive…wSJTl5AeRwM_8?usp=sharing

    Entpackt die "1_AlraiBasicPrecompile_20191005.pck"-Datei und schiebt sie in den/ die d912pxy/pck, bzw d912pxy/pck_bns Ordner. Welcher erstellt wird, hängt von eurem System ab.

    Falsch machen könnt ihr nichts -klappt es: richtiger Ordner. Klappt es nicht: falscher Ordner.


    ----------------------------------------------------------------------------------------------


    Ich hoffe, dieser Thread ist leicht verständlich und hilft euch.


    Solten mir hier Fehler unterlaufen sein, ich etwas nicht genügend berücksichtigt haben:


    Gebt bitte Rückmeldung. Vielleicht sogar mit Screens vorher/ nachher und Systeminfo :)


    Gruß, Patrick



    -----------------------------------------------------------------------------------------------


    PS: Ich mag hier auch noch Thread von Ashantara verweisen: RE: [Quick Guide] GW2 und Windows warten leicht gemacht

    The only good system is a soundsystem.

    Einmal editiert, zuletzt von Ibn ()

  • Gutes Tutorial, finde ich klasse.


    Eine kleine Anmerkung nur:

    welche besonders bei älteren/ schwächeren Systemen einen enormen Schub an FPS bewirken kann


    Guild Wars 2 ist alt, und kann kaum die Kapazitäten einer modernen Rechners ausschöpfen. Viele Charaktere und Effekt-Clusterfuck führen selbst bei meinem PC zu harten Laggs.


    AMD Ryzen 1950x 16 Core

    x399 Aorus Pro

    4x 8 GB DDR4 3200

    1 TB M2 / 1 TB SSD / 4 TB HDD

    RTX 2080


    Der DX12 Proxy ist sehr zu empfehlen auch und gerade für moderne Geräte, da DX12 wesentlich effizienter die höheren Kapazitäten ausschöpfen kann.

    Mit freundlichen Grüßen Lydiana Aenaria | Philipp

    **guckt aufgrund der Augenbinde des Widergängers in die falsche Richtung**


    350px-Revenant_01_concept_art.jpg "Ihr scheint mir zu den Leuten zu gehören, die nie aufgeben. Gefällt mir!" ~Kalla Flammenklinge
    "Man weiß nie, wann die Geschichte zusieht." ~ Lydiana Aenaria
    375px-Spec_image_Renegade.jpg
  • Wenn man die hooks richtig einstellt, kann man mit d912pxy auch vorher noch dx9 plugins laden. Dazu muss man z.B. arcdps als d3d9.dll lade, dann d912pxy als d3d9_chainload.dll. Man kann danach sogar auch noch ReShade laden, indem man es in dxgi.dll (oder so ähnlich) umbennent. Je mehr plugins man lädt, desto instabiler wird das Spiel, also sollte man damit immer ein bisschen Vorsichtig sein :)

  • Wenn man die hooks richtig einstellt, kann man mit d912pxy auch vorher noch dx9 plugins laden. Dazu muss man z.B. arcdps als d3d9.dll lade, dann d912pxy als d3d9_chainload.dll. Man kann danach sogar auch noch ReShade laden, indem man es in dxgi.dll (oder so ähnlich) umbennent. Je mehr plugins man lädt, desto instabiler wird das Spiel, also sollte man damit immer ein bisschen Vorsichtig sein :)

    Dafür kann ich den GW2 Addon-Manager sehr gut empfehlen. Der macht das automatisch :)

    Mit freundlichen Grüßen Lydiana Aenaria | Philipp

    **guckt aufgrund der Augenbinde des Widergängers in die falsche Richtung**


    350px-Revenant_01_concept_art.jpg "Ihr scheint mir zu den Leuten zu gehören, die nie aufgeben. Gefällt mir!" ~Kalla Flammenklinge
    "Man weiß nie, wann die Geschichte zusieht." ~ Lydiana Aenaria
    375px-Spec_image_Renegade.jpg
  • Wenn man die hooks richtig einstellt, kann man mit d912pxy auch vorher noch dx9 plugins laden.

    Ja, ich erinnere mich, mal online eine Anleitung hierzu bei ReShade oder GShade gefunden zu haben.

    Dafür kann ich den GW2 Addon-Manager sehr gut empfehlen. Der macht das automatisch :)

    Oy! Den kannte ich bisher noch gar nicht. :) Meinst Du das Tool hier: https://www.reddit.com/r/Guild…or_arcdps_gw2_radial_and/ ? Da ist aber ReShade nicht mit aufgelistet. :(



    Ibn : Muss man beim D912pxy eigentlich noch selbst etwas konfigurieren oder belässt man alles so?

  • Oy! Den kannte ich bisher noch gar nicht. :) Meinst Du das Tool hier: https://www.reddit.com/r/Guild…or_arcdps_gw2_radial_and/ ? Da ist aber ReShade nicht mit aufgelistet.

    Reshade verwendet eine eigene Installation:

    ReShade releases use their own installer and don't include their plugins in the download, so it makes more sense to use their installer.

    Mit freundlichen Grüßen Lydiana Aenaria | Philipp

    **guckt aufgrund der Augenbinde des Widergängers in die falsche Richtung**


    350px-Revenant_01_concept_art.jpg "Ihr scheint mir zu den Leuten zu gehören, die nie aufgeben. Gefällt mir!" ~Kalla Flammenklinge
    "Man weiß nie, wann die Geschichte zusieht." ~ Lydiana Aenaria
    375px-Spec_image_Renegade.jpg
  • Naja, es ist immernoch ein ziemlicher Teil, der einem damit abgenommen wird. Man muss dann halt nurnoch ReShade mit dazu installieren und nicht mehr alles manuell machen. Außerdem ist es mit dem ausführen des ReShade installers nicht getan, man muss dann noch die dll in den richtigen Ordner verschieben und richtig benennen und auch noch ein paar Einstellungen ändern.

    Gerade wenn es um Aktualisierungen geht, kann einem der Addon Manager schon sehr helfen, weil der Plugins sehr einfach aktuell halten kann.

  • Gerade wenn es um Aktualisierungen geht, kann einem der Addon Manager schon sehr helfen, weil der Plugins sehr einfach aktuell halten kann.

    Umso bedauerlicher, dass ReShade da nicht mit inkludiert ist. Denn wie Du ja korrekt angemerkt hast, muss man die DLL dann noch manuell verschieben etc., was doch gerade die Gründe sind, weshalb Leute Add-On Mananger überhaupt erst verwenden.


    Sollte ich mir jemals neben ReShade und YoloMouse noch ArcDPS gönnen, wäre so ein Tool natürlich eine feine Sache. (Schade, dass GW2 Hook nicht mehr aktualisiert wird - das hatte schon den Komfort, dass das UI nicht miteinbezogen wird in die eingestellten Effekte. Aber ich weiche vom hiesigen Thema ab. ;) )

  • Umso bedauerlicher, dass ReShade da nicht mit inkludiert ist. Denn wie Du ja korrekt angemerkt hast, muss man die DLL dann noch manuell verschieben etc., was doch gerade die Gründe sind, weshalb Leute Add-On Mananger überhaupt erst verwenden.

    Leider lässt sich das nicht sinnvoll automatisieren, weil ReShade keine dlls zur Verfügung stellt. Das müsste der Manager dann alles manuell machen, wobei auch bedacht werden muss, dass d912pxy bzw. dxvk FOR reshade geladen wird und dementsprechend man dann unterschiedliche Versionen von ReShade benötigt.


    Schade, dass GW2 Hook nicht mehr aktualisiert wird - das hatte schon den Komfort, dass das UI nicht miteinbezogen wird in die eingestellten Effekte. Aber ich weiche vom hiesigen Thema ab. ;)

    Das geht auch jetzt noch. Einfach den UI Filter aktivieren und die Datei `UIMask.png` so bearbeiten, dass die UI ausgenommen wird.
    Und ja ich stimme dir zu, wir kommen vom Thema ab^^

  • Das geht auch jetzt noch. Einfach den UI Filter aktivieren und die Datei `UIMask.png` so bearbeiten, dass die UI ausgenommen wird.

    Ich weiß, aber das ist dann wieder zusätzliche Arbeit. ;) Also nix für Faule. :P


    Um zum Thema zurückzukehren, wiederhole ich meine Frage Ibn :

    Muss man beim D912pxy eigentlich noch selbst etwas konfigurieren oder belässt man nach Installation alles wie es ist (bis auf das Hinzugeben des bereits fertigen Packs)?

  • Sofern man nicht selbst stark mit der Materie vertraut ist, belässt man die Standardeinstellungen am besten so, wie sie sind.

    RIP Verzerrung 2017, RIP Siegel der Inspiration 2018, RIP Verzerrung für Chronos 2019, RIP Verzerrung für Chronos 2020, jetzt wirklich.


    New Chrono Balance Patch in 3 … 2 … 1 …

    And everybody cries "Chrono is dead!"

  • Muss man beim D912pxy eigentlich noch selbst etwas konfigurieren oder belässt man nach Installation alles wie es ist (bis auf das Hinzugeben des bereits fertigen Packs)?


    Hierzu mag ich Saru zitieren:


    Sofern man nicht selbst stark mit der Materie vertraut ist, belässt man die Standardeinstellungen am besten so, wie sie sind.

    The only good system is a soundsystem.

  • Liebe Ash,


    wie du ja weißt: diesen thread habe ich geschrieben, nachdem ich deine Diskussion im Chat mitbekam.


    Du hast mich motiviert, dies zu schreiben.


    Ich habe mich bemüht, alles so simpel wie möglich zu halten.


    Meine Intention: Egal welche PC-Kenntnisse jmd hat: Ängste nehmen; Veränderungen (halbwegs) selbstständig vornehmen.


    Alle Quellen sind verlinkt. "install.exe" und "uninstall.exe" sind mit dabei. Es handelt sich hier nicht um reine dlls, welche Vorkenntnisse vorraussetzen.


    Ich freue mich darüber, daß... ich mag bisher alle Antworten.


    Ein großes "aber":  Verunsichert bitte nicht Leute, welche evtl. dies ausprobieren möchten.



    Erstellt doch bitte einen Thread, in welchem ihr die Materie weiter vertieft. :)



    Hier geht es mir wirklich nur um: simpel, einfach, kann jede/r. :)


    Irie, Glück auf, Moin Moin, oder whatever...

    The only good system is a soundsystem.

  • Es lag nicht in meiner Absicht, andere zu verunsichern. Ich hatte lediglich eine legitime Frage zum Thema, die mich interessierte.


    Du hättest antworten können, "Nein, in der neusten Version muss man nichts mehr konfigurieren, es läuft alles unter der Standardinstallation glatt." Oder aber, "Es gibt noch Kleinigkeiten, die man in der Datei [xyz] tweaken kann, aber das ginge zu tief in die Materie und ist für den Ottonormalverbraucher nicht von Belang."


    So oder so keine große Sache. :)