Reddits patch til Cyberpunk 2077 giver tocifrede ydelsesgevinster på AMD CPU’er
Redaktørens kommentar: Et mesterværk inden for videospilslitteratur og en teknisk katastrofe. Selvom det ikke er alle der ser ud til at have problemer med Cyberpunk 2077, så bliver en del af gamerne ved med at have problemer selv på hurtig hardware. Cyberpunk kommer således til at stå blandt titler som The Witcher 3 og Skyrim som endnu et spil, der reddes af uforklarligt dedikerede fans. (Alle hilser modderne.) I stedet for at spille den længe ventede titel er vores ulønnede helte gået i gang med at rette spillets kodningsfejl og har lavet en patch med én linje, der forbedrer ydeevnen betydeligt på de fleste AMD-processorer.
Lad os begynde med det indlysende: Ja, det er skuffende, at et dyrt spil, som har brugt det meste af et årti på at blive udviklet, er blevet udgivet med en fejl på én linje. Men denne artikel handler ikke om det, men om den bizarre løsning.
I går bemærkede redditors, at på AMD-hardware brugte Cyberpunk 2077 på AMD-hardware mest fysiske kerner og lod de sekundære logiske kerner være ubenyttede. Med andre ord ignorerede spillet processorenes evne til simultaneous-multithreading. På Ryzen-processorer med moderat ydeevne begrænsede dette processorudnyttelsen til ca. 40-60 %, afhængigt af andre faktorer i systemet.
Årsagen til denne særhed blev først fejlagtigt tilskrevet Intel-compileren (som kan forårsage dette problem), men mere kyndige redditors påpegede, at den ulovlige passage i Cyberpunk’s eksekverbare fil var fra GPUOpen. Den kontrollerer, om processoren er en ægte AMD Ryzen, og hvis den er det, begrænser den antallet af scheduler-tråde, som spillet kan give processoren. Denne kode giver fordele, og dens medtagelse i spillet er ikke et eksempel på Intel-bias, men CD Projekt Red burde have ændret den som en del af deres optimeringer til Ryzen.
Den hurtige løsning er nem, ved blot at ændre én linje i den ulovlige passage kan spillet tildele det maksimale antal tråde til processoren. På alle AMD-processorer vil dette øge udnyttelsen. Over hundrede redditors har prøvet rettelsen og rapporteret, at udnyttelsen gik fra 50 % til 75 %, i gennemsnit. Mere, hvis systemet var CPU-flaskehalset. Den tilsvarende ydelsesforbedring var mere variabel…
For det første havde de store processorer med højt kerneantal slet ikke gavn af dette fix. Den 16-kernede R9 5950X faldt faktisk i ydeevne, da rettelsen blev anvendt, sandsynligvis fordi deling af trådene rundt fordelte dem på dårligere kerner, og seksten var allerede nok til alle trådene. På processorer med tolv kerner gav rettelsen kun en lille fordel, når systemet var CPU-flaskehalset.
Rettelsen giver dog alvorlige forbedringer for processorer med otte eller færre kerner. En redditor med en 3700X rapporterede at hoppe op fra 60 fps til 70 fps, mens han kørte bil. En bruger med en R5 3600 rapporterede om en stigning på 20 fps i 1% lows, mens en anden brugte boostet til at forbedre sine indstillinger; de gik fra 50-ish fps ved høje indstillinger, uden ray tracing og med DLSS, til 60-ish fps med alt på ultra og ray tracing på medium.
En anden redditor gik fra 60 fps til 75-80 fps. Endnu en anden rapporterede et spring fra 35 til 45 fps, mens han løb rundt, og et spring fra 40 til 55 fps, mens han stod stille. En anden bruger rapporterede, at han nu får 60 fps i overfyldte områder, hvor han plejede at falde til 40 fps. Brugere med mindre kraftige processorer, som R5 2600, fandt ud af, at anvendelsen af rettelsen gjorde spillet “endelig spilbart”, og i stærkt CPU-begrænsede scenarier kunne rettelsen give op til en forbedring på 25-30 %.
Det er ganske vist ikke videnskabelige benchmarks. Der har ikke været tid til at lave ordentlige tests endnu, men vi forventer, at mere præcise tal vil dukke op i løbet af de næste par dage. Vi kan muligvis også selv teste dette fix som en del af vores kommende Cyberpunk 2077 CPU-tests. Det ser dog ud til, at for størstedelen af Ryzen-brugerne giver anvendelsen af denne rettelse en ydelsesforbedring, der til tider svarer til at gå fra f.eks. høje til medium indstillinger.
Sådan anvender du rettelsen
Vi anbefaler ikke nødvendigvis, at du selv anvender rettelsen, men indrømmet, det vil være meget svært at komme til at forårsage alvorlig skade på spilfilerne ved et uheld, så hvis du kan lide at pille og har en Ryzen-processor, så værsgo. Hvis du ikke har lyst, skal du dog ikke bekymre dig, for vi forventer, at CD Projekt Red selv udsender en officiel patch inden længe.
Her er trinvise instruktioner, venligst udlånt af u/chaosxk:
- Download HxD hex editor.
- Find din Cyberpunk 2077 eksekverbare fil (.exe).
- Gør en sikkerhedskopi af filen.
- Klik og træk den eksekverbare fil ind i HxD.
- Tryk CTRL+F og ændre kolonnen øverst i dialogboksen til hex-værdier.
- Indtast 75 30 33 C9 B8 01 00 00 00 00 0F A2 8B C8 C1 F9 08 .
- Kopier EB 30 33 C9 B8 01 00 00 00 00 00 0F A2 8B C8 C1 F9 08 .
- Kopier EB 30 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08 .
- Højreklik på den fremhævede 75… kode i HxD, og indsæt EB… koden.
- Klik på gem.
Her er en videodemonstration:
Vi er ikke sikre på, hvem der har lavet denne video.
Leave a Reply