Moddare kapar laddtider i GTA Online med två tredjedelar

Permalänk
Cylon

Moddare kapar laddtider i GTA Online med två tredjedelar

Litauisk GTA-spelare går från laddtider om sex minuter till knappt två – genom att hoppa över inläsning av onödig fil.

Läs hela artikeln här

Permalänk
Medlem

Tycker att GTA är ovärt att spela just på grund av laddtiderna så det vore ju jättekul om Rockstar ordnade dem.

Permalänk
Medlem

De borde ge honom en påse pengar och ett stort tack för detta.

Permalänk
Medlem
Skrivet av traetaona:

De borde ge honom en påse pengar och ett stort tack för detta.

Vore fint och få en pengapåse för all tid som man suttit fast i deras långa laddskärm också. 👼

Permalänk
Medlem
Skrivet av traetaona:

De borde ge honom en påse pengar och ett stort tack för detta.

Mer sannolikt att han blir bannad, det är ju trots allt Rockstar.

Permalänk
Medlem

På tiden

Jag tycks mig minnas att Rockstar lika gärna kunde byta namn på eländet till The Waiting Game när jag började spela 😬

Permalänk
Medlem

Uppdatering efter uppdatering men ändå inte fixat denna relativt enkla grej som en privatperson verkar knåpat ihop lite snabbt. Aj aj aj

Permalänk
Medlem

Vi vet sedan tidigare att många speltillverkare är slarviga eller rent av skiter i det.

Permalänk
Hedersmedlem

Texten i nyheten är väldigt felaktig. Felet var inte att filen läses in om och om igen, och fixen var inte heller att låta bli att läsa in den.

Det var två problem: parsingen beräknar strängens längd (>10 MB) för varje värde den läser in. Därmed anropas strlen() extremt många gånger, och varje gång måste den gå igenom hela strängen och kolla hur lång den är. Längden är ju densamma varje gång, så han gjorde en funktion som cachar längden och bara mäter den en gång istället.

Nästa problem var att de lagrar dessa värden i en hash map, men använder den som en array.
En hash map har konstant lookup-tid, så att läsa in värden i random ordning går (ungefär*) lika snabbt som att läsa igenom hela listan i ordning.
De läser dock igenom HELA listan varje gång de ska hitta ett värde, vilket i runda slängar kräver att man läser halva listans längd varje gång istället, så i detta fall över 30 000 gånger långsammare per lookup.

Hans fix som löser detta problemet var att inte söka igenom listan överhuvudtaget eftersom alla saker i den kommer vara unika, så han lägger bara till dem och är nöjd.

* Optimeringar som att läsa in mer än en sak i taget i CPU:ns cache gör att detta inte är sant i praktiken.

Permalänk
Medlem
Skrivet av Thomas:

Texten i nyheten är väldigt felaktig. Felet var inte att filen läses in om och om igen, och fixen var inte heller att låta bli att läsa in den.

Det var två problem: parsingen beräknar strängens längd (>10 MB) för varje värde den läser in. Därmed anropas strlen() extremt många gånger, och varje gång måste den gå igenom hela strängen och kolla hur lång den är. Längden är ju densamma varje gång, så han gjorde en funktion som cachar längden och bara mäter den en gång istället.

Nästa problem var att de lagrar dessa värden i en hash map, men använder den som en array.
En hash map har konstant lookup-tid, så att läsa in värden i random ordning går (ungefär*) lika snabbt som att läsa igenom hela listan i ordning.
De läser dock igenom HELA listan varje gång de ska hitta ett värde, vilket i runda slängar kräver att man läser halva listans längd varje gång istället, så i detta fall över 30 000 gånger långsammare per lookup.

Hans fix som löser detta problemet var att inte söka igenom listan överhuvudtaget eftersom alla saker i den kommer vara unika, så han lägger bara till dem och är nöjd.

* Optimeringar som att läsa in mer än en sak i taget i CPU:ns cache gör att detta inte är sant i praktiken.

Amatörmässiga misstag

Permalänk
Medlem
Skrivet av kotz:

Vi vet sedan tidigare att många speltillverkare är slarviga eller rent av skiter i det.

Ofta handlar det om pengar, tids och planeringsbrist men du har rätt. Ibland känns det som att utvecklarna fullständigt skiter i hur spelet upplevs från spelarens perspektiv.

Jag slutade spela GTA Online när jag blev less på hacksen. Droppen var en campfire som spawnade runt min gubbe och inte gick gå bort. Googlade problemet och det visade sig detta hack hade funnits i flera år.

Rockstar fokuserar hellre på DLC än att förhindra att spelare hackar sönder deras servrar. Tragist. Spelet är kul.

Permalänk
Medlem
Skrivet av FortuN:

Uppdatering efter uppdatering men ändå inte fixat denna relativt enkla grej som en privatperson verkar knåpat ihop lite snabbt. Aj aj aj

Som jag förstod det från en annan tråd så visas reklam för microtransantions prylar medan du laddar. Är det så så har de antagligen med flit gjort så att det laddar segt.

Permalänk
Medlem

Minns när jag fick över spelet på en SSD disk och tänkte nu jävlar ska det laddas!
Nope....

Permalänk
Medlem
Skrivet av traetaona:

De borde ge honom en påse pengar och ett stort tack för detta.

Kanske killen som gjorde detta kan uppgradera från sin FX-8350

Permalänk
Medlem
Skrivet av jOnÄTÄn:

Som jag förstod det från en annan tråd så visas reklam för microtransantions prylar medan du laddar. Är det så så har de antagligen med flit gjort så att det laddar segt.

Nej, enligt personen som fixade det så har det inte med det att göra.

"What is it? It appears to be data for a “net shop catalog” according to some references. I assume it contains a list of all the possible items and upgrades you can buy in GTA Online.

Clearing up some confusion: I beleive these are in-game money purchasable items, not directly linked with microtransactions."

Edit: Eller du kanske menade att det är segt för att det ska visas under längre tid när jag tänker efter

Permalänk
Medlem

Helt ärligt tycket jag nog spelets alla fuskare är värre än laddtiderna. Men det är en stark andre plats iallafall 😀

Men kommer väl nån annan som hittar på ett bra knep för att lyckas stoppa fuskarna också.

Grynt jobbat! En pengasäck från rockstar tycker jag han är värd!

Permalänk
Medlem

Detta är anmärkningsvärt, varje programmeringsteam oavsett område kör väl alltid någon slags profiling på sitt arbete för att direkt identifiera flaskhalsar, knappast rocket science och inte så komplicerat.

Permalänk
Entusiast

Underbart med stängd källkod, inte sant?

Rockstar borde ge alla som betalat för detta spel varenda krona tillbaka.

Permalänk
Medlem
Skrivet av NiQ:

Jag tycks mig minnas att Rockstar lika gärna kunde byta namn på eländet till The Waiting Game när jag började spela 😬

Vi kallar det forever-loading game på discord i vår kanal ^^

Permalänk
Medlem
Skrivet av aliassund:

Detta är anmärkningsvärt, varje programmeringsteam oavsett område kör väl alltid någon slags profiling på sitt arbete för att direkt identifiera flaskhalsar, knappast rocket science och inte så komplicerat.

Om du inte är programmerare själv skulle du nog förvånas hur relativt lite tester som skrivs. Unit och integration tests är vanligare än profilering av vad jag sett/hört.

Man optimerar sällan något eller ens börjar undersöka om det behövs om det inte märks att det behövs i programmrings världen.

Permalänk
Medlem

Låter som Vic-20 tiden med bandstation* , inget jag missar mao
*hade iof diskettstationen men ändå

Permalänk
Medlem
Skrivet av aliassund:

Detta är anmärkningsvärt, varje programmeringsteam oavsett område kör väl alltid någon slags profiling på sitt arbete för att direkt identifiera flaskhalsar, knappast rocket science och inte så komplicerat.

Nä, inne på mitt 6 konsult uppdrag, ingen har gjort det eller ens påtalat det i de projekt jag varit med. Har aldrig haft en dedikerad testare heller, för dyrt. Billigare att låta kunderna testa åt en. 🤑

Permalänk
Medlem

Json har ju redan unika nycklar precis som en hashmap, så hängde inte med på varför de behövde kolla alls om den redan innehöll nycklarna

Permalänk
Medlem

Varför ska Rockstar patcha in en sån fix när dom kan göra den unik till en nyutgåva till PS5 och Xbox Series X 😀

Permalänk
Entusiast
Skrivet av NiQ:

Man optimerar sällan något eller ens börjar undersöka om det behövs om det inte märks att det behövs i programmrings världen.

I det här fallet har det ju uppenbarligen märkts tydligare än man någonsin kunde önska i många år. Vill knappt tänka på hur många månader världens GTA-spelare sammanlagt har fått sitta och vänta på att Rockstar bara bränner CPU-cykler för skojs skull.

Skrivet av Xenofonus:

Json har ju redan unika nycklar precis som en hashmap, så hängde inte med på varför de behövde kolla alls om den redan innehöll nycklarna

De behövde ju inte det heller. Men generellt kan ju JSON:en se ut typ så:

[ { "id": 4, "name": "Hammer" }, { "id": 7, "name": "Crowbar" }, … ]

Om man då därifrån ska få fram en hashmap med nycklarna 4, 7 osv är ju iallafall inte JSON-nycklars unikhet en anledning att inte för varje nyckel kolla om den redan finns i hashmapen man håller på att bygga upp.

Permalänk
Medlem

Intressant att Rockstar själva inte funnit detta iom att folk har anmärkt och klagat på laddtiderna sedan release. Känns som om en hastig debug nog borde funnit detta ganska fort. Underligt att dom inte märkte det under utvecklingen heller.

Permalänk
Medlem
Skrivet av hasseb64:

Låter som Vic-20 tiden med bandstation* , inget jag missar mao
*hade iof diskettstationen men ändå

Bandstation ja, hade det till 8-bit Atari. Kommer ihåg när jag skulle ladda in Zaxxon och när spelet nästan var inladdat så vart det error och man fick göra om allt igen. Undrar hur lång tid det skulle ta med ett modert spel 😁

Permalänk
Medlem

Grymt jobbat! Men man ska veta att utvecklare i spelprojekt lever under extrem press, funktioner, prestanda, kompabilitet, buggar men framförallt ska det oftast utvecklas på halva tiden av vad som är rimligt. GTA är troligen någon av de störsa spelen vi har, jag vill inte ens tänka på hur mycket kod och testning som har gått in i projektet. Laddtider är såklart viktiga men det hamnar ganska långt ner på TODO listan när tiden pressas.

Jag är inte häller så säker på att jag skulle rikta min kritik mot utvecklarna, de får genrellt inte 7 år på sig att optimera sina kreationer. Och ska det optimeras så är VAD oftast bestämt av någon annan.

Förövrigt var jag djupt imponerad av deras release av Red Dead som troligen var minst lika stort projekt men som hade väldigt lite problem redan vid release på PS4an. Jag stötte iallafall inte själv på några avgörande problem. Vad jag förstod var det dock inte riktigt lika lyckad på PC releasen dock.

Däremot Cyberpunk 2077 som troligen ligger i liknande fack(storleksmässigt) var mindre bra och är fortfarande inte på top misstänker jag? Där kapade man speltiden REJÄLT!

Jag har spelat igenom GTA ett par gånger och även om laddtiden är lång i början så var det aldrig något problem när man väl kommit igång att spela. Men visst, i online läget kan det säkert bli drygt om man ska börja om ofta.

Permalänk
Medlem

Jag slutade spela själv för några år sen pga långa laddtider och alla jäkla fuskare och hackers.

Permalänk
Medlem

Än idag har jag svårt att förstå hur moddare kan lösa denna typ av problem men företaget inte har en jävla aning vad som är fel.
Eller så har dem vetat men inte brytt sig?