Vijesti

Fan je pokazao Rockstaru kako skratiti vrijeme učitavanja GTA V za 69%

Sramotno je da skoro 8 godina nakon izlaska GTA V i dalje ima preduga učitavanja. Ona na nekim konfiguracijama idu i do 10 minuta za Online dio što je apsolutno neprihvatljivo. I dok smo takvo nešto mogli tolerirati na PS3 i X360, ono je apsolutno neprihvatljivo na konfiguracijama s modernim SSD-ovima.

Čak i na PS5 učitavanja su preduga. Učitavanje GTA Onlinea na PS5 ide i do 1:30 minuta, a u teoriji ono nebi trebalo trajati više od nekoliko sekunda. Plus još nekoliko sekunda za hand-shake sa serverom.

U čemu je problem?

Sada je sasvim jasno da su vremena učitavanja plod lošeg koda. Jasno je to ekipi i u Rockstaru, ali u 8 godina nisu uspjeli detektirati problem. Detektirao ga je fan nadimka t0st, a zatim je i na svom blogu pojasnio kako ga riješiti.

Na konfiguraciji s 16GB RAM-a, starijim ali i dalje dobrim procesorom AMD FX-8350, GTX 1070 i jeftinim Kingston SSD-om t0st nikako nije uspjevao učitati GTA V u Online mode ispod 6 minuta, dok istovremeno u Story mode ulazi u 70-ak sekunda.

Razlika je neobično velika. U čemu je problem? Po nekoj logici, problem je u serverima, ali t0st je raščlanjivanjem procesa zaključio kako problem nije na mrežnoj strani, budući da mrežni proces traje tek nekoliko sekunda. Je li problem u disku? Nije, učitavanje s diska također traje tek 10-ak sekunda. Grafička također ne izvodi nikakav proces, ali zato procesor poludi nakon što u pozadini učita Story mode i krene na Online dio.

Nakon učitavanja svijeta i tekstura procesor bez razloga poludi na 4-5 minuta

“Kada učita 99,9% svega potrebnog u otprilike 80-ak sekunda, što procesor procesira narednih 4-5 minuta?”, zapitao se t0st. Nakon sati istraživanja pronašao je problem u JSON datoteci veličine 10-ak MB koja je, zaključio je, zadužena za spremanje kataloga svih predmeta koje je moguće kupiti u igri.

Greška je u kodu zaduženom za učitavanje kataloga, a koji je očito napisan na samom početku Onlinea kada u igri nije postojala ni približno bogata ponuda sadržaja. Da ne kompliciramo, kod u sadašnjem stanju za svaki od predmeta u katalogu na serverima provjerava je li prisutan u datotekama igre lokalno. Umjesto da direktno spremi popis, što je prema t0stu bolje rješenje.

Da je njegovo rješenje bolje dokazao je skriptom kojom je promijenio zadanu logiku. Vrijeme učitavanja Onlinea smanjilo se sa 6 minuta na samo 1:50! Što je ušteda vremena od čak 69,4%.

T0st je na blogu točno objasnio što je trebalo napraviti za drastično poboljšanje te predviđa kako Rockstaru nebi trebalo više od jednog dana posla da ga posluša i implementira rješenje. I to ako se posla primi samo jedan jedini developer. Rockstar, ti si na redu.

Igra

Povezano