- Промокоды
- Тир-лист персонажей
- Баннеры 1.2
- Тир-лист банбу
- Инспектор Мяучело
- Памятные монеты АИК
- Пропавшие мини-грузовики
- Все скрытые квесты
- Все достижения
- Все арты c6 персонажей
- Как повысить уровень доверия агентов?
- Клякса: как приручить?
- Видеопрокат и все видеокассеты
- Отдыхающая домохозяйка: фильм
- Ностальгирующая девушка: фильм
- Влюбленная девушка: фильм
- Квест Клуб загадочников 1 и 2
- Квест Отмотай назад, детектив
- Квест Заметание секретов
- Квест Пропавшая картина
- Квест Бескрайняя бездна
- Квест Пророчество
- Квест Лимб банбу
- Все гайды
- Испытания Мерлина
- Хранилища сокровищ
- Луны мистера Муна
- Хитроумные ключи
- Головоломки Иродианы
- Квест «Призрак нашей любви»
- Квест «Колодец, колодец»
- Квест «Сокровища из проклятой гробницы»
- Квест «Гиппогриф вам укажет путь»
- Квест «Словно по звонку»
- Непростительные заклинания
- Все легендарные сундуки
- Все животные и твари
- Все метлы
- Все концовки
- Все гайды
- Башня Рамазита и колдовской погреб
- Вызов Шар — все испытания и Копье Ночи
- Логово Ансура — все чертоги и дракон
- Литейная стальной стражи — как спасти гондийцев
- Обыскать подвал — как открыть Некромантию Тхая
- Разрушенная башня — как запустить лифт
- Адамантиновая кузня — все формы и мифриловая руда
- Завершить оружейный шедевр — кора суссура
- Тетушка Этель — как спасти Майрину
- Яйцо гитьянки — как украсть и можно ли вырастить
- Мистический Падальщик — где найти слугу
- Найти клоуна Каплю — все части тела
- Как победить Геррингот Торм?
- Где найти Кровь Латандера?
- Где найти Песню Ночи?
- Все гайды
- Промокоды Honkai Star Rail
- Все сундуки Золотого мига в Honkai Star Rail
- Похвала высокой морали в Honkai Star Rail
- Все сундуки в Лофу Сяньчжоу из Honkai Star Rail
- Первооткрыватель в Honkai Star Rail
- Все сундуки Сада безмятежности в Honkai Star Rail
- Беглецы в Доме кандалов
- Заказ прокси
- Дом кандалов: сундуки и робоптахи
- Гексанексус: Remake в ХСР
Фанатский патч для GTA Online ускорил загрузку в 3 раза
Будет неплохо, если разработчики его изучат и реализуют аналогичные улучшения сами
Онлайн-режим Grand Theft Auto 5 грузится очень долго: в некоторых случаях его полная загрузка может занимать больше десяти минут, это гораздо дольше, чем загрузка одиночного режима. Латвийский инженер под ником t0st, играющий в GTA Online, решил разобраться, в чем тут дело.
Проведя несколько экспериментов, t0st выяснил, что на его PC (AMD FX-8350, SSD-накопитель Kingston и 16 гигабайт DDR3) одиночная кампания грузится 70 секунд, а мультиплеер — в среднем 360 секунд. Опросы среди фанатов показывали, что может быть и хуже.
Инженер заметил, что увеличение производительности PC по-разному влияет на скорость загрузки мультиплеера и одиночного режима. У игроков с мощным железом GTA Online могла грузиться за пару минут, но загрузка сюжета не ускорялась. Значит, есть простор для оптимизации.
Затем t0st решил посмотреть, как вообще происходит загрузка онлайн-режима. Оказалось, что большую часть времени GTA Online грузит на 100% одно из ядер процессора, не создавая нагрузку ни на сеть, ни на диск, ни на память. Это было странно.
Чтобы найти суть проблемы, инженер запустил GTA Online под профайлером и обнаружил пару мест, где во время загрузки игра проводила больше всего времени. Затем нужные места были изучены с помощью дизассемблера и x64dbg.
Оказалось, что большую часть времени при загрузке игра тратит на парсинг гигантского JSON-объекта весом примерно в 10 мегабайт. Внутри у него порядка 63 тысяч записей; скорее всего, полагает t0st, это каталог всех предметов, которые можно купить в игре.
Изучив парсер JSON и обработку файла, t0st пришел к выводу, что код работает крайне неоптимально. Например, при добавлении нового элемента из JSON в игровые данные происходит поиск по всему массиву уже добавленных уникальных ключей вместо использования hashmap или похожих быстрых решений.
Кроме того, оказалось, что все идентификаторы и элементы в JSON и так уникальны — проверять их еще раз нет никакого смысла. Так или иначе, t0st понял, что проблему можно устранить: нужно лишь сделать неофициальный патч.
Инженер переопределил пару функций, использовавшихся при обработке JSON, убрав из них ресурсоемкие, но бессмысленные проверки. К сожалению, код привязан к адресному пространству игры, после выхода официального патча оно может изменить.
После патча загрузка GTA Online ускорилась с приблизительно 360 секунд до примерно 110 секунд — то есть более чем в три раза. Инженер надеется, что разработчики из Rockstar Games обратят внимание на его эксперимент и сделают разбор JSON более эффективным.
- Для GTA 5 делают фанатский ремастер с новыми ассетами, текстурами и материалами
- Фанатский патч для ускорения загрузки GTA Online пропатчили: теперь он работает на всех версиях игры
- Прошлое Алой Ведьмы в «Ванда/Вижн» оказалось не таким, как в «Первом мстителе»
- Обзорный трейлер Ху Тао, нового персонажа Genshin Impact
- Серию GTA предложили запретить в Чикаго из-за роста числа угонов
- Фанат превращает GTA 5 в сериал: вот первый эпизод