Moddare kapar laddtider i GTA Online med två tredjedelar

Permalänk
Medlem
Permalänk
Medlem
Skrivet av Dakkie:

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.

Vågar nästan garantera att de är medvetna om felet.
Och att ledningen aktivt valt att strunta i det.

I det här fallet är det ju ändå rätt uppenbara fel, som någon sorts prestandatestning hade hittat direkt. Sen kan vi anta att QA har provat att ladda spelet.

Permalänk
Medlem
Skrivet av Nemphis84:

Ä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?

Enligt moddaren så var implementationen gjord på rätt sätt men bara inte på ett optimerat sätt, så det kan vara så att man helt har missat det eller inte brytt sig kanske inte värt att lägga tid på det heller då det inte är en kritisk bug.

Utveckling är mycket mer avancerat än att bara fixa något, det måste prioriteras och utvärderas i alla led. I detta fallet lutar det mer åt att någon chef har prioriterat bort det helt enkelt.

EDIT: Det kanske ligger i någon backlog att fixa det om 2-3år

Permalänk
Medlem
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.

Vilket ju i regel är sunt, att sitta och optimera på förhand tar ju enorma mängder av arbetstid i anspråk.

Detta är ju däremot bara sjukt, laddningstiderna tänkte jag ändå att de såg över, särskilt om de upplevs så extremt långa. Just en sån här funktion hade jag nog som enskild utvecklare faktiskt testat en del och profilerat innan jag släppte iväg den till test. Dålig ledning och dåliga arbetsrutiner om en sån grej trillar igenom, en erfaren programmerare hade ju i regel inte skrivit den så dåligt heller ens från början, det är introduktionskursnivå på att röra ihop det sådär.

Permalänk
Medlem
Skrivet av Nemphis84:

Ä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?

Passion för spelet från moddarnas sida? Ekonomi och tidsbrist från företagets sida.

Permalänk
Medlem
Skrivet av Nemphis84:

Ä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?

Det spelar väl ingen som helst roll för dem.
Pengarna rullar ju in iaf.

Permalänk
Medlem

Visst, det här är ju något av ett i-landsproblem, men samtidigt är det ju också en skandal. Samt förstås ett intyg på hur lite R* bryr sig, totalt missköter spelet och till 100% kör på vinstmaximering.

Folk har ju klagat på laddtiderna i åratal. De allra flesta vet ju att GTA5 är ett tekniskt mästerverk, och att online delen sen är en illaluktande eftertanke som silvertejpats fast. Men att kvaliten på utvecklingen och underhållet skulle vara så här dålig kunde man nästan inte föreställa sig. Man borde väl i och för sig ha lärt sig att inte bli förvånad vid detta laget.

Permalänk
Medlem
Skrivet av Alling:

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

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

Betalar man separat för att spela online-delen? Kan inte minnas att jag hade några nämnvärda problem med laddtider i single player. Inte så att någon återbetalning skulle vara rimlig i alla fall.

Permalänk
Medlem
Skrivet av Nemphis84:

Ä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?

Kan nästan garantera att det tagits upp flera gånger inom rockstar att utvecklare vill fixa problem som dessa. Men alla som varit på ett större mjukvaruföretag vet hur prioritet hanteras. I princip så skiter man i allt som inte generar direkt inkomst och fixar bara såna här saker om dom orsakar absolut kaos och stoppar produktion för mycket. "Fire fighting" utvecklande, släcker bränderna när det börjar brinna, man förebygger inte branden i förväg även fast man vet att den kommer.

I det här fallet är det ju enkelt, kortare laddtider genererar inte direkt inkomst.

Permalänk
Hedersmedlem
Skrivet av Jackbob:

I det här fallet är det ju enkelt, kortare laddtider genererar inte direkt inkomst.

Jo, faktiskt. Har sett bra många inlägg som säger att de gav upp på GTAO pga laddningstiderna. Även ett flertal som gav upp efter första/andra gången främst pga det.

Permalänk
Medlem
Skrivet av Thomas:

Texten i nyheten är väldigt felaktig....

Nästa problem var att de lagrar dessa värden i en hash map, men använder den som en array.
...

Nu skummade jag bara igenom hans egna write-up, men som jag såg det i koden så är det inte en hashmap dom faktiskt använder utan en vanlig array.
Dom utför kontrollen om ett objekt redan finns för att inte få dubbletter då alla artiklar ska vara unika, vilket du inte behöver göra med en hashmap (därför av att dom gör den själv). Det dom inte insåg var bara att alla artiklar i JSON-filen är redan unika så detta behövs inte. Hans lösning är bara att inte göra kontrollen utan bara lägga till artiklarna i arrayn direkt.

Han själv skriver "I named it hashmap while reversing but it’s clearly not_a_hashmap"

Permalänk
Medlem

Är inte snubben från Lettland? (.lv = latvia)

Permalänk
Hedersmedlem
Skrivet av EndLessMind:

Nu skummade jag bara igenom hans egna write-up, men som jag såg det i koden så är det inte en hashmap dom faktiskt använder utan en vanlig array.
Dom utför kontrollen om ett objekt redan finns för att inte få dubbletter då alla artiklar ska vara unika, vilket du inte behöver göra med en hashmap (därför av att dom gör den själv). Det dom inte insåg var bara att alla artiklar i JSON-filen är redan unika så detta behövs inte. Hans lösning är bara att inte göra kontrollen utan bara lägga till artiklarna i arrayn direkt.

Han själv skriver "I named it hashmap while reversing but it’s clearly not_a_hashmap"

Jo, men det är ju till synes en hashmap iom att varje entry har ett hash (som inte används). Men den används som en array.
Svårt att säga hur originalkoden såg ut och vad det är för slags klass i original.

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.

Kan även tillägga att att T0ST säger ingenting i stil med:

"Vidare efterforskning visar även att JSON-filen i fråga inte ens behöver läsas in under laddningen av spelets Online-del, utan kan gott läsas in efter att spelaren kommit in på en server."

Att läsa in 10 MB JSON var i sig heller aldrig problemet. Som jag förstår det så fixar T0ST patch så att inläsningen av JSON-filen kör i princip på nolltid (gissar en bra bit under < 1 s). T0ST sopar inte problemet under mattan genom att senarelägga inläsning, utan han har helt enkelt gjort inläsningen av filen typ 1000ggr snabbare.

Tycker det är konstigt att Sweclockers bygger en artikel på Tom's hardwares text istället för att grunda den på T0STs egna text. Tycker T0ST skrev en bra text om det hela. Kan även tillägga att Tom's hardwares artikel verkar ha felaktigheter. De skriver exempelvis "He found out that the game was only loading two CPU cores consistently, for the entire duration of the load time.", men T0ST själv säger tydligt att "GTA decides to max out a single core on my machine for four minutes and do nothing else.".

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.

Nu blir det ju 0 sekunder reklam eftersom man inte spelar spelet alls pga laddtider.

Permalänk
Medlem
Skrivet av Thomas:

Jo, men det är ju till synes en hashmap iom att varje entry har ett hash (som inte används). Men den används som en array.
Svårt att säga hur originalkoden såg ut och vad det är för slags klass i original.

Vad jag kunde se så mp varje objekt i listan innehålla en hash men tyckte mig inte se någon indexering av den datan, varpå den inte kan uppföra sig som en hashmap. Rätta gärna mig om jag har fel, sitter inte lika mycket i C och C++ som jag önskar att jag gjorde, bara en massa high-level den senaste tiden.

Permalänk
Hedersmedlem
Skrivet av EndLessMind:

Vad jag kunde se så mp varje objekt i listan innehålla en hash men tyckte mig inte se någon indexering av den datan, varpå den inte kan uppföra sig som en hashmap. Rätta gärna mig om jag har fel, sitter inte lika mycket i C och C++ som jag önskar att jag gjorde, bara en massa high-level den senaste tiden.

Vet inte om vi egentligen är överens eller inte, men hur som helst vet jag inte heller.

Jag gick på att hans "struct entry" innehåller hash. Den verkar ju hoppa igenom arrayen/hashmapen/whatever med 16 byte i taget på första raden inuti while-loopen, medan de två sakerna i structen är definitivt 8 resp sannolikt 8 bytes var, så i varje loop läser den bara ett av värdena, vilket måste vara "item".
OM det är en hashmap så används den ju felaktigt så att det är meningslöst att ha hash, eftersom den ändå inte används.
Men frågan är väl också om definitionen av "struct entry" kommer från IDA eller artikelförfattaren; om det sistnämnda så kanske det inte ens är ett hashvärde som han gav namnet "hash" utan något annat.

Permalänk
Medlem
Skrivet av Thomas:

Jo, faktiskt. Har sett bra många inlägg som säger att de gav upp på GTAO pga laddningstiderna. Även ett flertal som gav upp efter första/andra gången främst pga det.

Fick de tillbaka pengarna? Eller är det något annat? (Dåligt insatt då spelserien/genren inte tilltalar mig.)

Permalänk
Medlem

Detta skulle man vetat när man fortfarande spelade GTA Online. Det var fan hemskt hur lång tid det tog varenda gång.. Och man blev ju tvungen att byta server ibland för alla fuskare så det blev många timmar bortslösade i loading screen.

Permalänk
Medlem

Slutade spela GTA V helt just pga laddningstiderna, man orkade spela i ett par månader men sen så va inte inte så roligt längre med allt väntade efter heists å annat man behövde ladda för

Permalänk
Medlem

Awwwwww yeeeeaaa, underbart för någon som jag som inte bryr mig om online för 5 öre

Permalänk
Medlem
Skrivet av Thomas:

Jo, faktiskt. Har sett bra många inlägg som säger att de gav upp på GTAO pga laddningstiderna. Även ett flertal som gav upp efter första/andra gången främst pga det.

Ja det är Rockstar och inte mig du ska övertyga om bra mjukvara faktiskt lönar sig 😉

Permalänk
Medlem
Skrivet av Sewerin:

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

Medhåll! Jag slutade spela spelet på grund av för långa laddtider. Inte ens en snabb M2-ssd påverkade tiden speciellt mycket. Helt ofattbart att Rockstar med obegränsat med pengar inte lyckats lösa detta.

Permalänk
Medlem
Citat:

Rockstar Games has confirmed to PC Gamer that a fan-made solution to GTA Online's abysmal loading times will become official in a forthcoming update.

Tostercx said that they were awarded $10,000 through Rockstar's Bug Bounty program. That's normally reserved for discovering security or privacy issues in Rockstar's online games, but the studio decided to award the bounty "as an exception" in this case, tostercx said. Rockstar confirmed to PC Gamer that the payment is being made.

The official patch is now live, and some players are reporting huge improvements.

https://www.pcgamer.com/rockstar-thanks-gta-online-player-who...

https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-...

https://support.rockstargames.com/articles/360061161574/GTAV-...

länkar