Home » Μείωση εως και 70% στους χρόνους loading του GTA Online.

Μείωση εως και 70% στους χρόνους loading του GTA Online.

0 comment

Ένας προγραμματιστής/παίκτης του GTA Online με το ψευδώνυμο T0st κατάφερε και έκανε αυτό που η ίδια η Take Two δεν έχει καταφέρει τόσα χρόνια τώρα, να μειώσει τα απελπιστικά αργά loading του GTA V εώς και 70%!

Μάλιστα, όπως, ο ίδιος, υποστηρίζει, το fix είναι τόσο εύκολο που δεν έπαιρνε σε έναν developer της εταιρίας περισσότερο από ένα απόγευμα για να το φτιάξει.

Πιο συγκεκριμένα, ο T0st για να βρεί το πρόβλημα έκανε reverse engineering τα calls του παιχνιδιού προς τον επεξεργαστή. Βρήκε, λοιπόν, πως 2-3 calls/functions έκαναν parse ένα json αρχείο των 10MB. Παρόλο που τα 10MB δεν είναι σπουδαίος αριθμός, και οι σημερινοί υπολογιστές μπορούν εύκολα να επεξεργαστούν ένα τέτοιο function, το συγκεκριμένο json είχε περισσότερα από 63000 entries.

Το json αυτό φαίνεται να είναι το “net shop catalog” του παιχνιδιού, το οποίο είναι υπεύθυνο για όλα τα αντικείμενα και τα χαρακτηριστηκά των αντικειμένων που πωλούνται στο κατάστημα του παιχνιδιού.

Η λεπτομέρια, όμως, που έκανε αυτό το τεράστιο πρόβλημα ήταν ένα συγκεκριμένο function, το strlen, το οποίο έτρεχε αμέσως μετά από οποιοδήποτε read στα δεδομένα.

Ο T0st με ένα απλό caching του string lenght μείωσε, αρχικά, το χρόνο φορτώματος στο 50%.

Το δεύτερο που έκανε είναι να φτιάξει ένα hash table που ψάχνει για duplicate entries γρήγορα και αποδοτικά σε σχέση με την προηγούμενη λειτουργία που έψαχνε όλο τον πίνακα από την αρχή, μετά από κάθε νέο entry, για duplicates. Με αυτή του τη σκέψη μείωσε τον χρόνο φόρτωσης ακόμα 25%.

Ο T0st ενημέρωνει πως με αυτές μόνο τις δύο αλλαγές, ο χρόνος loading του GTA Online έπεσε από τα ~6 λεπτά στα <2.

Ο ίδιος ο δημιουργός έχει αφήσει έλευθερο το .dll για compile μέσα από την σελίδα του στο github. Παρόλα αυτά, κάθε πειραματισμός έρχεται με δική σας ευθύνη.

You may also like

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

Privacy & Cookies Policy