Rockstar официально внедрит моддерский хак, позволяющий существенно ускорить загрузку GTA Online, и выплатила автору награду в сумме $10 тыс.
Длительное время загрузки уже давно стало неотъемлемым атрибутом игры GTA Online. Даже на современных системах, оснащённых производительными твердотельными накопителями, игра загружается по несколько минут.
Ранее в этом месяце моддер t0st предложил решение, которое позволяет ускорить процесс загрузки игры примерно на 70%. Проблема заключалась в том, что при загрузке GTA Online основная нагрузка идёт не на накопитель, а на центральный процессор, которому чрезвычайно высокую нагрузку создаёт плохо реализованный парсер JSON. Дело в том, что база данных игры включает более 63 тыс. объектов, и парсеру требуется много времени, чтобы перебирать каждый из них каждый раз при каждой загрузке игры.
Во-первых, игра считывает в текстовом файле все покупаемые предметы в игре, и после каждого из 63 тыс. предметов она заново пересчитывает каждый символ в текстовом файле размером 10 МБ. Выполнение этого подсчёта один раз не составляет большого труда, но выполнение этой же задачи 63 тыс. раз приводит к потере времени CPU впустую.
Во-вторых, чтобы подготовить все считанные данные об элементах, игра записывает как данные, связанные с этим элементом (например, его название, цену, категорию, статистику), так и хэш этого элемента (по сути, вычисленный «отпечаток пальца», который определяет его). Каждый раз, когда игра сохраняет элемент из списка, что происходит 63 тыс. раз, она сравнивает хеш-значение сохраняемого элемента с хеш-значением каждого другого элемента, который уже был сохранён.
Чтобы решить данную проблему, t0st написал новый файл .dll. Фактически он устраняет несогласованности, описанные выше. После использования этого файла с игрой (нечто вроде патча) время загрузки GTA Online сократилось с 6 минут до 1 минуты и 50 секунд. Но автор этого метода предупреждал, что использование подобного хака может привести к блокированию учётной записи игрока.
Тем не менее, этот способ оказался простым и действенным решением ускорения загрузки игры. В результате, Rockstar решила интегрировать его в GTA Online, поблагодарив моддера t0st за выявление проблемы. Соответствующее исправление появится в игре с выходом грядущего обновления.
Автор мода также написал на своей странице, что, в качестве исключения, Rockstar выплатила ему $10 тыс. в рамках программы поиска ошибок в игре. Ранее подобные вознаграждения выплачивались только за выявление ошибок безопасности.