GTA Online zoptymalizowane przez gracza. Czasy ładowania o 70 proc. krótsze!

Jeden z graczy GTA Online odkrył, z czego wynikają bardzo długie czasy ładowania w grze Rockstara. I zaproponował rozwiązanie.

GTA Online
GTA Online

Fan "GTA Online" i programista, korzystający z GitHuba pod pseudonimem tostercx, postanowił przyjrzeć się sprawie zaskakująco długich czasów ładowania gry Rockstara. Są one o tyle zaskakujące, że zdają się być niezależne od platformy, na których działa gra. Pojawiają się nie tylko na słabszych PC i starszych konsolach, ale również na sprzętach nowej generacji z szybkimi dyskami SSD.

Sprawę w szczegółach tłumaczy Digital Foundry. Tostercx badając sprawę tych długich loadingów odkrył, że nie są one związane z obciążeniem dysku czy połączenia sieciowego. W windowsowym menadżerze zadań zauważył, że zamiast tego gra obciąża w 100 proc. jego procesor, korzystając z jednego wątku.

Przyglądając się bliżej odkrył, że wynika to ze sposobu, w jaki gra indeksuje dostępne graczowi w świecie gry przedmioty. Zapisywane są one jako lista w 10-megowym pliku tekstowym i za każdym razem, gdy jest na niej wprowadzana jakaś modyfikacja, program sprawdza wszystkie wpisy i poprawność ich indeksów.

Początkowo nie stanowi to wielkiego problemu, ale wraz ze zwiększaniem się liczby przedmiotów prowadzi do tego, że program musi jednorazowo dokonać 1 984 531 500 (niemal 2 miliardy) porównań. A to trwa.

Wydaje się, że gra robi to by sprawdzić, że na liście nie pojawiły się duplikaty. Według użytkownika tostercx cały proces jest jednak niepotrzebnie złożony i prowadzi do wielokrotnego sprawdzania również pustych list. Według niego da się go znacząco skrócić. I takie też rozwiązanie zaprogramował.

Jego modyfikacja, którą udostępnił na GitHubie, skraca czasy ładowania o ok. 70% (z sześciu minut do niecałych dwóch). Jednocześnie jednak modyfikuje pliki gry, co jest równoznaczne z hakowaniem - i może skutkować zbanowaniem gracza w przypadku jej użycia.

W tym wypadku więc z odkrycia gracza musi teraz skorzystać sam Rockstar, by jego efekty były odczuwalne dla graczy.

Jeżeli to w jakiś sposób dotrze do Rockstara: rozwiązanie tych problemów nie powinno zająć jednemu programiście więcej niż dzień. Proszę zróbcie coś z tym.

Pisze tostercx.

Źródło artykułu:Polygamia.pl
Wybrane dla Ciebie
Komentarze (1)
© Polygamia
·

Pobieranie, zwielokrotnianie, przechowywanie lub jakiekolwiek inne wykorzystywanie treści dostępnych w niniejszym serwisie - bez względu na ich charakter i sposób wyrażenia (w szczególności lecz nie wyłącznie: słowne, słowno-muzyczne, muzyczne, audiowizualne, audialne, tekstowe, graficzne i zawarte w nich dane i informacje, bazy danych i zawarte w nich dane) oraz formę (np. literackie, publicystyczne, naukowe, kartograficzne, programy komputerowe, plastyczne, fotograficzne) wymaga uprzedniej i jednoznacznej zgody Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, będącej właścicielem niniejszego serwisu, bez względu na sposób ich eksploracji i wykorzystaną metodę (manualną lub zautomatyzowaną technikę, w tym z użyciem programów uczenia maszynowego lub sztucznej inteligencji). Powyższe zastrzeżenie nie dotyczy wykorzystywania jedynie w celu ułatwienia ich wyszukiwania przez wyszukiwarki internetowe oraz korzystania w ramach stosunków umownych lub dozwolonego użytku określonego przez właściwe przepisy prawa.Szczegółowa treść dotycząca niniejszego zastrzeżenia znajduje się  tutaj.