Gracz odkrył, dlaczego GTA Online ładuje się tak wolno

​GTA Online pozostaje szalenie popularne pomimo faktu, że od dnia debiutu słynie nie tylko z licznych atrakcji, ale choćby z wyjątkowo długich czasów ładowania, przekraczających często pięć minut. Dlaczego jednak doczytywanie trwa tak długo? Jeden z fanów odkrył przyczyny i oferuje pomoc.

Przedsiębiorczy deweloper o pseudonimie "t0st" przeprowadził śledztwo i po wprowadzeniu odpowiednich zmian zdołał skrócić czas ładowania o imponujące 70 procent. Jak opisuje na blogu, po minucie ładowania obciążenie procesora gwałtownie rośnie, co wywołało jego ciekawość.

To sugerowało, że winne nie są serwery Rockstara czy połączenie sieciowe, lecz coś na komputerze użytkowników. T0st zabrał się za dekompilowanie kodu i szybko odkrył, że głównym problemem jest lista przedmiotów do kupienia w grze - a raczej sposób, a jaki GTA Online zarządza tym plikiem.

Reklama

Rzeczony plik zajmuje 10 MB i zawiera listę 63 tysięcy przedmiotów. Przy starcie, gra analizuje po kolei każdy znak w tym pliku, co przekłada się na spore obciążenie procesora. Ale to jeszcze nie wszystko, ponieważ następnie gra przygotowuje wszystkie te przedmioty do kupienia.

Podczas ładowania nadaje im nie tylko podstawowe informacje (nazwa, cena, kategoria, statystyki), ale także unikatowy "hash". Aby wyeliminować duplikaty, każde nadanie takiego hasha wiąże się z koniecznością porównania go z wszystkimi innymi, wygenerowanymi już wcześniej hashami.

I tak w kółko, dla 63 tysięcy przedmiotów. T0st szacuje, że łącznie daje to jakieś 2 miliardy operacji do wykonania. Co gorsza, na jednym wątku procesora. Co więcej, poszukiwanie duplikatów jest bezcelowe, jeśli gra za każdy razem zaczyna tworzenie listy przedmiotów do kupienia od zera.

T0st przygotował więc własne pliki, które nadpisują ten proces, znacznie usprawniając działanie. Zamiast sprawdzać wszystkie 63 tysiące przedmiotów, jego skrypt po prostu sprawdza, czy zgadza się długość samej listy, co zmniejsza liczbę kroków z 63 tysięcy do jednego. Tylko co na to Rockstar?

Przekaż 1% na pomoc dzieciom - darmowy program TUTAJ

INTERIA.PL
Dowiedz się więcej na temat: GTA Online
Reklama
Reklama
Reklama
Reklama