По его словам, проблема скрывалась в неоптимальной обработке нескольких файлов.
О своём небольшом проекте рассказал пользователь под ником t0st, который в свободное время занимается реверс-инжинрингом. По словам программиста, его не устраивали загрузки в GTA Online, которые могли занимать около шести минут, в то время как для одиночного режима требуется чуть больше минуты.
t0st показал результаты одного из опросов на Reddit, которые подтверждают, что проблема долгих загрузок в Online довольно распространённая среди игроков.
Чтобы найти проблемный участок, t0st использовал профилировщик Luke Stackwalker, а затем запустил дизассемблер с целью углубиться в файлы игры.
Разработчик выяснил, что игра обращается к файлу JSON с 63 тысячами записей и размером около 10 МБ, что необоснованно много. По словам t0st, это одна из причин медленных загрузок в GTA Online.
Судя по всему, сам файл содержит список всех возможных предметов и улучшений, которые можно купить в игре. Как уточняет автор, это предметы, покупаемые за игровые деньги, которые напрямую не связаны с микротранзакциями Shark Cards.
Второй проблемой оказалась лишняя проверка игрой хэш-массивов данных, что тоже сильно замедляет процесс загрузки.
После выявления проблем автор изменил исходный код файлов и опубликовал их на GitHub. Он отметил, что это лишь концепт и использование исходников может привести к бану в GTA Online.
В конечном счёте разработчику удалось сократить время загрузок с шести минут до 1 минуты и 50 секунд.
Автор выразил надежду на то, что его работу заметит Rockstar — для программистов студии он кратко описал свой способ решения проблемы, который считает самым лёгким. По слова t0st, исправление недочётов должно занять не больше одного дня и для этого требуется только один программист.