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