Энтузиасту удалось на 70% сократить время загрузки в ПК-версии GTA Online

По его словам, проблема скрывалась в неоптимальной обработке нескольких файлов.

О своём небольшом проекте рассказал пользователь под ником t0st, который в свободное время занимается реверс-инжинрингом. По словам программиста, его не устраивали загрузки в GTA Online, которые могли занимать около шести минут, в то время как для одиночного режима требуется чуть больше минуты.

t0st показал результаты одного из опросов на Reddit, которые подтверждают, что проблема долгих загрузок в Online довольно распространённая среди игроков.

Чтобы найти проблемный участок, t0st использовал профилировщик Luke Stackwalker, а затем запустил дизассемблер с целью углубиться в файлы игры.

Разработчик выяснил, что игра обращается к файлу JSON с 63 тысячами записей и размером около 10 МБ, что необоснованно много. По словам t0st, это одна из причин медленных загрузок в GTA Online.

Судя по всему, сам файл содержит список всех возможных предметов и улучшений, которые можно купить в игре. Как уточняет автор, это предметы, покупаемые за игровые деньги, которые напрямую не связаны с микротранзакциями Shark Cards.

Второй проблемой оказалась лишняя проверка игрой хэш-массивов данных, что тоже сильно замедляет процесс загрузки.

После выявления проблем автор изменил исходный код файлов и опубликовал их на GitHub. Он отметил, что это лишь концепт и использование исходников может привести к бану в GTA Online.

В конечном счёте разработчику удалось сократить время загрузок с шести минут до 1 минуты и 50 секунд.

Автор выразил надежду на то, что его работу заметит Rockstar — для программистов студии он кратко описал свой способ решения проблемы, который считает самым лёгким. По слова t0st, исправление недочётов должно занять не больше одного дня и для этого требуется только один программист.

 

Источник

Читайте также