Patch Reddita do Cyberpunk 2077 daje dwucyfrowy wzrost wydajności na procesorach AMD

Odpowiedź redaktora: Arcydzieło literatury gier wideo, a zarazem techniczna katastrofa. Choć nie wszyscy mają problemy z grą Cyberpunk 2077, część graczy ma je nawet na szybkim sprzęcie. Tym samym Cyberpunk stanie wśród takich tytułów jak Wiedźmin 3 czy Skyrim jako kolejna gra uratowana przez niewytłumaczalnie oddanych fanów. (All hail the modders.) Zamiast grać w długo oczekiwany tytuł, nasi nieopłacani bohaterowie wzięli się do pracy nad naprawą błędów w kodowaniu gry i stworzyli jednolinijkową łatkę, która znacząco poprawia wydajność na większości procesorów AMD.

Zacznijmy od rzeczy oczywistych: tak, to rozczarowujące, że droga gra, która spędziła lepszą część dekady w rozwoju, została wydana z jednolinijkowym błędem. Ale ten artykuł nie jest o tym, tylko o dziwacznym rozwiązaniu.

Wczoraj redaktorzy zauważyli, że na sprzęcie AMD Cyberpunk 2077 korzystał głównie z rdzeni fizycznych, pozostawiając drugorzędne rdzenie logiczne bezczynne. Innymi słowy, gra ignorowała możliwości procesora w zakresie jednoczesnej wielowątkowości. Na procesorach Ryzen o umiarkowanej wydajności ograniczało to wykorzystanie procesora do około 40-60%, w zależności od innych czynników w systemie.

Przyczynę tego dziwactwa najpierw błędnie przypisano kompilatorowi Intela (który może powodować ten problem), ale bardziej zorientowani redaktorzy zwrócili uwagę, że obraźliwy fragment w pliku wykonywalnym Cyberpunka pochodził z GPUOpen. Sprawdza on, czy procesor to autentyczny AMD Ryzen, a jeśli tak, ogranicza liczbę wątków schedulera, które gra może dać procesorowi. Ten kod przynosi korzyści, a jego włączenie do gry nie jest przykładem stronniczości Intela, ale CD Projekt Red powinien był go zmienić w ramach swoich optymalizacji dla Ryzen.

Szybka naprawa jest prosta, po prostu zmiana jednej linii w obraźliwym fragmencie umożliwia grze przydzielenie procesorowi maksymalnej liczby wątków. Na każdym procesorze AMD zwiększy to wykorzystanie mocy obliczeniowej. Ponad stu redditorów wypróbowało tę poprawkę i zgłosiło, że wykorzystanie wzrosło z 50% do 75%, średnio. Więcej, jeśli system miał wąskie gardło procesora. Odpowiednia poprawa wydajności była bardziej zmienna…

Po pierwsze, duże procesory o wysokiej liczbie rdzeni nie skorzystały w ogóle z tej poprawki. Szesnastordzeniowy R9 5950X faktycznie stracił na wydajności po zastosowaniu poprawki, prawdopodobnie dlatego, że dzielenie wątków wokół siebie przydzieliło je do gorszych rdzeni, a szesnaście było już wystarczające dla wszystkich wątków. Na procesorach z dwunastoma rdzeniami, poprawka zapewniła niewielką korzyść tylko wtedy, gdy system był CPU bottlenecked.

Poprawka oferuje poważne ulepszenia dla procesorów z ośmioma lub mniejszą liczbą rdzeni, jednak. Jeden z redditorów posiadający 3700X zgłosił skok z 60 fps do 70 fps, podczas jazdy samochodem. Użytkownik z R5 3600 zgłosił wzrost o 20 fps w 1% low, podczas gdy inny użył boostu do poprawienia swoich ustawień; przeszedł z 50-ish fps na wysokich ustawieniach, bez ray tracingu i z DLSS, do 60-ish fps z wszystkim na ultra i ray tracingiem na medium.

Inny redditor przeszedł z 60 fps do 75-80 fps. Jeszcze inny zgłosił skok z 35 do 45 kl/s podczas biegania i skok z 40 do 55 kl/s podczas stania w miejscu. Inny użytkownik zgłosił teraz uzyskanie 60 fps w zatłoczonych miejscach, gdy wcześniej spadały one do 40 fps. Użytkownicy z mniej wydajnymi procesorami, takimi jak R5 2600, stwierdzili, że zastosowanie poprawki sprawiło, że gra stała się „wreszcie grywalna”, a w scenariuszach mocno ograniczonych przez procesor poprawka mogła zapewnić nawet 25-30% poprawę.

Przyznać trzeba, że nie są to naukowe benchmarki. Nie było jeszcze czasu na przeprowadzenie odpowiednich testów, ale oczekujemy, że dokładniejsze liczby pojawią się w ciągu najbliższych kilku dni. Możliwe, że sami przetestujemy tę poprawkę w ramach naszych nadchodzących testów procesora w Cyberpunk 2077. Wygląda jednak na to, że dla większości użytkowników Ryzenów, zastosowanie tej poprawki zapewnia poprawę wydajności, która jest czasami równoważna ze spadkiem z wysokich do średnich ustawień, na przykład.

Jak zastosować poprawkę

Niekoniecznie zalecamy samodzielne zastosowanie poprawki, ale przyznajemy, że byłoby bardzo trudno przypadkowo spowodować poważne uszkodzenia plików gry, więc jeśli lubisz majstrować i masz procesor Ryzen, śmiało. Jeśli jednak nie masz ochoty, nie martw się, spodziewamy się, że CD Projekt Red sam wkrótce wyda oficjalną łatkę.

Oto instrukcje krok po kroku, dzięki uprzejmości u/chaosxk:

  • Ściągnij edytor hex HxD.
  • Znajdź swój plik wykonywalny Cyberpunk 2077 (.exe).
  • Zrób kopię zapasową pliku.
  • Kliknij i przeciągnij plik wykonywalny do HxD.
  • Naciśnij CTRL+F i zmień kolumnę u góry okna dialogowego na wartości heksadecymalne.
  • Wprowadź 75 30 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08 .
  • Kopiuj EB 30 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08 .
  • Kliknij prawym przyciskiem myszy na podświetlony kod 75… w HxD i wklej kod EB….
  • Kliknij zapisz.

Tutaj jest demonstracja wideo:

Nie jesteśmy pewni, kto zrobił to wideo.

.

Leave a Reply