За что отвечает трансмиссия в гта 5
Влияние тюнинга на параметры машин в GTA 5 и GTA Online
#15406 OFFLINE Kesha_F1
После нескольких месяцев поисков файлов, отвечающих за модификации в салонах Los Santos Customs, я, наконец, нашёл эти важные файлы.
Rockstar Games неплохо поработали над изменениями в физике, но считаю, что у всех машин одинаковые статистические изменения в деталях тюнинга.
Главный файл тюнинга carcols.ymt находится здесь: \x64a.rpf\data\ *Пока нет возможности его открыть, так как он находится в архиве ymt. Файл содержит базовые параметры деталей тюнинга всех модифицируемых транспортных средств.
В папках update\x64\dlcpacks\название обновления\dlc.rpf\common\data\ лежит не запакованный carcols.meta. Он открывается любым текстовым редактором.
Открыв несколько carcols.meta из разных DLC, я сравнил их параметры и ниже таблица изменений в статистических параметрах деталей тюнинга, влияющих на физику машин.
• Внешний обвес (бампер, капот, крыша, пороги, спойлер, глушитель): +20 кг
• Подвеска: 0 кг, модификатор на понижение клиренса (высота от земли до днища машины): 5, 10, 15, 20
• Двигатель: +20 кг, модификатор на повышение мощности: 25, 50, 75, 100
• Тормоза: +5 кг, модификатор улучшающий тормоза: 25, 65, 100
• Трансмиссия: +5 кг, модификатор улучшающий разгон: 25, 50, 100
• Броня: +0, 10, 20, 30, 40 кг, модификатор увеличивающий прочность: 20, 40, 60, 80, 100
К сожалению, не смог найти параметры турбо-тюнинга, который отвечает за увеличение разгона. Предполагаю, что там вес +20 кг и максимальный модификатор улучшающий разгон на 100.
Турбо-тюнинг влияет на скорость машины. Нашёл отличный и единственный канал посвящённый гонкам в GTA Online.
Рекомендую к просмотру его видео. Парень подробно и информативно рассказывает о скрытых вещах, связанных с транспортом в GTA Online.
Пару подробных видео про влияние тюнинга на физику машин. Рекомендую включить английские субтитры для тех, кто хочет понять о чём идёт речь.
P.S. Просмотрев внимательно несколько разных машин, пришёл к выводу, что некоторые показатели деталей тюнинга могут отличаться. Однако параметр веса у всех одинаков (смотри выше).
«Ламеров надо обучать. Игроков уважать. Читеров мочить в сортире». © Kesha_F1
«Дураку закон не писан. Если писан, то не читан. Если читан, то не понят. Если понят, то не так». © Народное
Влияние тюнинга на параметры машин в GTA 5 и GTA Online
Награды
После нескольких месяцев поисков файлов, отвечающих за модификации в салонах Los Santos Customs, я, наконец, нашёл эти важные файлы.
Rockstar Games неплохо поработали над изменениями в физике, но считаю, что у всех машин одинаковые статистические изменения в деталях тюнинга.
Главный файл тюнинга carcols.ymt находится здесь: \x64a.rpf\data\ *Пока нет возможности его открыть, так как он находится в архиве ymt. Файл содержит базовые параметры деталей тюнинга всех модифицируемых транспортных средств.
В папках update\x64\dlcpacks\название обновления\dlc.rpf\common\data\ лежит не запакованный carcols.meta. Он открывается любым текстовым редактором.
Открыв несколько carcols.meta из разных DLC, я сравнил их параметры и ниже таблица изменений в статистических параметрах деталей тюнинга, влияющих на физику машин.
• Внешний обвес (бампер, капот, крыша, пороги, спойлер, глушитель): +20 кг
• Подвеска: 0 кг, модификатор на понижение клиренса (высота от земли до днища машины): 5, 10, 15, 20
• Двигатель: +20 кг, модификатор на повышение мощности: 25, 50, 75, 100
• Тормоза: +5 кг, модификатор улучшающий тормоза: 25, 65, 100
• Трансмиссия: +5 кг, модификатор улучшающий разгон: 25, 50, 100
• Броня: +0, 10, 20, 30, 40 кг, модификатор увеличивающий прочность: 20, 40, 60, 80, 100
К сожалению, не смог найти параметры турбо-тюнинга, который отвечает за увеличение разгона. Предполагаю, что там вес +20 кг и максимальный модификатор улучшающий разгон на 100.
P.S. Просмотрев внимательно несколько разных машин, пришёл к выводу, что некоторые показатели деталей тюнинга могут отличаться. Однако параметр веса у всех одинаков (смотри выше).
Список дисциплинарных мер к пользователям GTA.COM.UA
«Ламеров надо обучать. Игроков уважать. Читеров мочить в сортире». © Kesha_F1
«Дураку закон не писан. Если писан, то не читан. Если читан, то не понят. Если понят, то не так». © Народное
Как влияет трансмиссия в гта 5
Что делает трансмиссия в гта 5?
Трансмиссия Улучшение трансмиссии повысит ускорение автомобиля. Каждый уровень даёт прирост 5%.
Что дает подвеска в гта 5?
Подвеска Подвеска автомобиля никак не влияет на основные характеристики, хотя управление за счёт более низкого центра тяжести улучшается и машина лучше входит в повороты. Жаль только, что о внедорожниках Rockstar забыла — хорошо было бы иметь возможность и повышать клиренс автомобиля тоже.
Как в гта 5 тюнинговать машины?
В GTA Online масса способов изменить свою машину или мотоцикл. Посетите Los Santos Customs, чтобы покрасить машину, поставить новые колеса, выбрать затемнение стекол, решетку радиатора и спойлеры – а также модифицировать подвеску, двигатель, тормоза и многое другое.
Зачем нужен Пкп в гта 5?
Прочности ПКП хватает выдержать более десяти ракет с РПГ. Так же его можно использовать: чтобы снять полицию с хвоста, просто зайти в него когда есть уровень разыскиваемости, не важно сколько звезд. В нем можно управлять всеми имеющимися турелями.
Какая самая быстрая машина в GTA 5?
ТОП-5 самых быстрых машин ГТА 5 онлайн по скорости
Какие машины можно улучшать в мастерской Бенни?
Ниже приведён список модификаций для разных автомобилей:
Как открыть весь тюнинг в GTA 5?
Доступ к тюнингу откроется после прохождения сюжетной миссии «Отец и сын» (Father/Son) — некоторое время спустя выполнения этого задания вы получите уведомление о том, что ассортимент тюнинговых мастерских пополнился новыми запчастями.
Где можно починить машину в GTA 5?
Для чего нужен передвижной командный пункт?
Первый отсек трейлера — это командный пункт, в нем можно управлять турелями, которые открываются при помощи разработки в бункере. Также там есть экран с заданиями от Агента 14. Нужна команда от двух до четырех человек, всего восемь миссий за прохождения которых вам откроется скидка на некоторый транспорт на варстоке.
Для чего нужен Avenger?
Avenger’у можно усилить броню, улучшить двигатель и выбрать окраску кузова. Для уничтожения этой летающей крепости врагам придется попотеть, даже после уничтожения одного двигателя, всю нагрузку возьмет на себя второй, управление ухудшиться, но этого вполне хватит улететь с поля битвы.
Что дает Terrorbyte?
Как поменять цвет машины в гта 5?
Extra Color Customization v1. 5 – изменение цвета машин в ГТА 5
Как выбрать цвет банды в GTA Online?
Создаем редкие цвета для окраски машины GTA 5 Online
Влияние тюнинга на параметры машин в GTA 5 и GTA Online
#15406 OFFLINE Kesha_F1
После нескольких месяцев поисков файлов, отвечающих за модификации в салонах Los Santos Customs, я, наконец, нашёл эти важные файлы.
Rockstar Games неплохо поработали над изменениями в физике, но считаю, что у всех машин одинаковые статистические изменения в деталях тюнинга.
Главный файл тюнинга carcols.ymt находится здесь: \x64a.rpf\data\ *Пока нет возможности его открыть, так как он находится в архиве ymt. Файл содержит базовые параметры деталей тюнинга всех модифицируемых транспортных средств.
В папках update\x64\dlcpacks\название обновления\dlc.rpf\common\data\ лежит не запакованный carcols.meta. Он открывается любым текстовым редактором.
Открыв несколько carcols.meta из разных DLC, я сравнил их параметры и ниже таблица изменений в статистических параметрах деталей тюнинга, влияющих на физику машин.
• Внешний обвес (бампер, капот, крыша, пороги, спойлер, глушитель): +20 кг
• Подвеска: 0 кг, модификатор на понижение клиренса (высота от земли до днища машины): 5, 10, 15, 20
• Двигатель: +20 кг, модификатор на повышение мощности: 25, 50, 75, 100
• Тормоза: +5 кг, модификатор улучшающий тормоза: 25, 65, 100
• Трансмиссия: +5 кг, модификатор улучшающий разгон: 25, 50, 100
• Броня: +0, 10, 20, 30, 40 кг, модификатор увеличивающий прочность: 20, 40, 60, 80, 100
К сожалению, не смог найти параметры турбо-тюнинга, который отвечает за увеличение разгона. Предполагаю, что там вес +20 кг и максимальный модификатор улучшающий разгон на 100.
Турбо-тюнинг влияет на скорость машины. Нашёл отличный и единственный канал посвящённый гонкам в GTA Online.
Срыв покровов — Adder-то медленнее Z-Type!
Рекомендую к просмотру его видео. Парень подробно и информативно рассказывает о скрытых вещах, связанных с транспортом в GTA Online.
Пару подробных видео про влияние тюнинга на физику машин. Рекомендую включить английские субтитры для тех, кто хочет понять о чём идёт речь.
Внедорожные колёса реально влияют на поведение машины — смягчаются наезды на бордюры. Скорость не гасится. На любимой трассе Гран При Cheetah показал на Progen Т20 (в тюнинг обвесе, и, возможно, без турбо-тюнинга) время 2:00.508. Конечно, это был первый тест, но мне понравилось! Там где я раньше осторожно дозировал газом, стараясь не потерять скорость, теперь без сомнения жму газ до упора.
P.S. Просмотрев внимательно несколько разных машин, пришёл к выводу, что некоторые показатели деталей тюнинга могут отличаться. Однако параметр веса у всех одинаков (смотри выше).
«Ламеров надо обучать. Игроков уважать. Читеров мочить в сортире.» © Kesha_F1
«Дураку закон не писан. Если писан, то не читан. Если читан, то не понят. Если понят, то не так.» © Народное
Влияние тюнинга на параметры машин в GTA 5 и GTA Online
#2211343 Kesha F1
Награды
После нескольких месяцев поисков файлов, отвечающих за модификации в салонах Los Santos Customs, я, наконец, нашёл эти важные файлы.
Rockstar Games неплохо поработали над изменениями в физике, но считаю, что у всех машин одинаковые статистические изменения в деталях тюнинга.
Главный файл тюнинга carcols.ymt находится здесь: \x64a.rpf\data\ *Пока нет возможности его открыть, так как он находится в архиве ymt. Файл содержит базовые параметры деталей тюнинга всех модифицируемых транспортных средств.
В папках update\x64\dlcpacks\название обновления\dlc.rpf\common\data\ лежит не запакованный carcols.meta. Он открывается любым текстовым редактором.
Открыв несколько carcols.meta из разных DLC, я сравнил их параметры и ниже таблица изменений в статистических параметрах деталей тюнинга, влияющих на физику машин.
• Внешний обвес (бампер, капот, крыша, пороги, спойлер, глушитель): +20 кг
• Подвеска: 0 кг, модификатор на понижение клиренса (высота от земли до днища машины): 5, 10, 15, 20
• Двигатель: +20 кг, модификатор на повышение мощности: 25, 50, 75, 100
• Тормоза: +5 кг, модификатор улучшающий тормоза: 25, 65, 100
• Трансмиссия: +5 кг, модификатор улучшающий разгон: 25, 50, 100
• Броня: +0, 10, 20, 30, 40 кг, модификатор увеличивающий прочность: 20, 40, 60, 80, 100
К сожалению, не смог найти параметры турбо-тюнинга, который отвечает за увеличение разгона. Предполагаю, что там вес +20 кг и максимальный модификатор улучшающий разгон на 100.
P.S. Просмотрев внимательно несколько разных машин, пришёл к выводу, что некоторые показатели деталей тюнинга могут отличаться. Однако параметр веса у всех одинаков (смотри выше).
P.P.S. Прочитайте любопытную статью Технические характеристики транспорта в GTA V [gta.riotpixels.com].
Сообщение изменено: Kesha F1 (07 Январь 2016 — 14:53)
Добавлена ссылка на статью Технические характеристики транспорта в GTA V. Читайте!
Список дисциплинарных мер к пользователям GTA.COM.UA
«Ламеров надо обучать. Игроков уважать. Читеров мочить в сортире». © Kesha_F1
«Дураку закон не писан. Если писан, то не читан. Если читан, то не понят. Если понят, то не так». © Народное
КАК ВЛИЯЕТ ПОДВЕСКА НА ХАРАКТЕРИСТИКИ АВТО! КАК ПОЛУЧИТЬ ЛУЧШУЮ МАКСИМАЛКУ? — GTA 5 RP | Strawberry
Играю на 2ом сервере GTA 5 RP (Strawberry)
► Скачать игру: https://gta5rp.com/start
► Мой промокод: GRAND (10 дней VIP и 12.500$/Работает на всех серверах GTA 5 RP! Downtown/StrawBerry/VineWood/BlackBerry/InSquad/Sunrise/Rainbow/Richman/Skidrow/LaMesa!)
► Официальная группа ВК: https://vk.com/gta5rp
► GTA 5 RP Discord: https://discordapp.com/invite/k4vh5CC
► Дискорд банды : https://discord.gg/EZwd7wh
Понравилось видео? Подписывайся на канал, ставь лайк и оформляй колокольчик, чтобы не пропустить новые видосы!)0
===========================================
►Группа в ВК → https://vk.com/grand_officialvk → Там Вы сможете связаться со мной через СС. Задать какие-либо вопросы или предложить рекламу.
►Подписаться на канал → https://www.youtube.com/channel/UCx-P28Tobzy6m9dNpQNWg9g?sub_confirmation=1
#gta5 #gta5rp #гта5рп #redage #редэйдж #gtaonline #rage #rp #рп #гта5 #fivestar #downtown #strawberry #даунтаун #строббери #vinewood #вайнвуд #редаге #mta #ccdplanet #мта #ccdplanet #radmir #samp #crmp #самп #крмп #1кк #самыевыгодныеработы #бензовоз #выгодные работы #топ5 #самыйприбыльныймаршрут #рейс #деньги #деньги #обновление #радмир #смотра #ccd #planet #ссд #ссдпланет #заработок #гайд #барыги #обнова #обновление3.6 #гранд #grand #gta5 #gtav #gta #новичок #первая #работа #почтальон #crmp #radmir #province #amazing #malinovka #провинция #радмир #голосовойчат #реальнаяжизнь #rage #fivem #автосалоны #казино #тактика #рулетка #система #гтаонлайн #инкасатор #инкассатор #инкосатор #инкасатар #инкассация #самаявыгодная #самаяприбыльная #сколькоплатят #деньги #инкассатор #дальнобойщик #какловить #особняк #какзаработать #заработал #гайд #какловить #погосу #какпоймать #способ #заработка #лучший #гайд #дляновичков #установка #лаунчер #какначать #какбыстро #подняться #новичку #дляновичков #скачать #начать #играть #бомж #новичок #какподняться #какбыстрозаработать #как #подняться #быстро #заработать #гайд #дляновичков #какначатьигратьнагта5рп #суперкар #дорогая #покупка #какиграть #зима #автошкола #кабан #w140 #банда #квесты #новогодние #купил #дом #покупка #первая #машина #рыбалка #дальнобой #инкассатор #рулетка #открытие #кейсы #система #ограбление #лотерея #билет #выиграл #гелик #орелирешка #интерьеры #погоня #полиция #механик #blackberry #блекберри #море #океан #озеро #контракты #офис #домов #какграбить #insquad #инсквад #санрайс #санрайз #sunrise #rainbow #дайвинг #дайвер #richman #диски #ричман #автобус #рейс #маршрут #skidrow #скидроу #lamesa #ламеса #mitsubishi #evo #номера #квартиры
Видео КАК ВЛИЯЕТ ПОДВЕСКА НА ХАРАКТЕРИСТИКИ АВТО! КАК ПОЛУЧИТЬ ЛУЧШУЮ МАКСИМАЛКУ? — GTA 5 RP | Strawberry канала GRAND
Manual Transmission — механическая коробка передач
Мод скрипт Manual Transmission добавляет в игру механическую кп(коробку передач), что позволяет вручную переключать передачи у всех автомобилей в gta 5. Данный мод добавляет реалистичности игре. Если вы жаждете реалистичности в гта 5 и хотите автомобили не только с акпп (автоматом) но и мкпп — механикой, то этот мод для вас. Вам необходимо использовать сцепление для переключения передач, следить за оборотами двигателя.
Для работы мода необходим установленный Script Hook V.
Как установить Manual Transmission mod?
Убедиться, что установлен Script Hook V
Скопировать файлы MTconfig.ini и ManualTransmission.asi в папку с игрой (туда где находится файл gta5.exe)
Управление модом:
Стрелка вправо — включение\отключение мода на механическу коробку передач для гта 5.
Х — сцепление
numpad1 = 1 передача
numpad2 = 2 передача
numpad3 = 3 передача
numpad4 = 4 передача
numpad5 = задний ход (при включенном заднем ходе, нажмите W, чтобы ехать назад)
Для переключения передач следите за оборотами двигателя, зажимайте кнопку X и выбирайте передачу, все как на настоящей машине.
Тюнинг. Модификация и улучшение машин в игре ГТА 5: Онлайн.
Машины играют важную роль в серии GTA, и GTA Online не исключение. Они значительно облегчат вам перемещение по городу, и вы не сможете выполнить большую часть Миссий без их использования. В этой главе мы покажем вам, как разблокировать Los Santos Customs, серию мастерских по модернизации автомобилей.
Чтобы разблокировать Los Santos Customs, вам просто нужно дождаться звонка от Симеона (1) — он сам свяжется с вами через несколько десятков минут игрового процесса. Если вы уже достигли 5-6 ранга и упомянутый персонаж вам не звонил, стоит выйти и снова войти в игру — иногда это событие зависает и появляется только после того, как вы переиграете.
Как разблокировать Los Santos Customs?
После разговора вы получите ссылку на мастерскую Los Santos Customs. Откройте окно взаимодействия с помощью клавиши M (в случае консольных версий выберите для PS3, тачпад для PS4, назад для Xbox 360 и паузу для Xbox One соответственно) и выберите «Настройка» (2) для параметра GPS. Подтвердите свой выбор и следуйте по маршруту (3) на мини-карте, чтобы добраться до ближайшей мастерской.
Подъезжайте к синей двери гаража (4), и когда она откроется, заезжайте внутрь, чтобы начать процесс модификации автомобиля. На что стоит обратить особое внимание — это закрепить машину и прикрепить к ней передатчик. Для этого перейдите в опцию Предотвращение потери / кражи. Внутри вы найдете возможность установить передатчик на машину — благодаря этому он будет всегда виден на карте мира, а также появится рядом с вашим персонажем, когда вы войдете в игру. Второй вариант — оформить страховку — в случае полной поломки автомобиля вы получите бесплатную замену.
Какие улучшения нужны для машины в Grand Theft Auto 5?
Другие улучшения позволяют изменять внешний вид автомобиля, устанавливая новые детали или меняя лакокрасочное покрытие. Вы также можете настроить характеристики автомобиля — улучшить подвеску, ускорение, максимальную скорость или установить нитро. Все эти элементы открываются по мере вашего продвижения в игре.
Мы сравним улучшение двигателя, трансмиссии, как работает модифицированный турбо-наддув, влияние прокаченных тормозов на тормозной путь, как влияет спойлер на аэродинамику, для чего нужна раллийная подвеска и броня, наконец, поведение автомобиля с низкопрофильной и внедорожной резиной.
Улучшение двигателя даёт значительный прирост к ускорению, а потому это обязательная часть апгрейда вашего автомобиля.
Что касается трансмиссии, то на выбор нам доступно три модификации:
Поскольку КПП влияет на скорость переключения передач, позволяет еще быстрее ускоряться вашему автомобилю, а значит еще одна обязательная деталь при улучшении.
Трубонаддув, к сожалению, даёт очень слабый прирост, а поэтому данную деталь можно вовсе не покупать, а если вы уже решили, то лучше сделайте это в последнюю очередь. Неактуально только для тех автомобилей, у которых шкала Ускорение прокачана на максимальный уровень.
Главное предназначение спойлера — направлять потоки воздуха таким образом, чтобы воздух использовался как дополнительная прижимная сила, поскольку чем сильнее прижата машина к земле, тем она устойчивее и лучше аэродинамические показатели. И здесь ответный однозначный — ДА, спойлер в игре нужен и помогает вашему автомобилю ездить еще быстрее.
И последним важным апгрейдом вашего Cпортивного автомобиля должна стать резина с широким протектором, которая позволяет увеличить ускорение автомобиля, и улучшает вхождение в резкие повороты.
Как и где продать машину в ГТА 5: Онлайн?
В сюжетном режиме GTA 5 нельзя продать машину так же, как в предыдущих частях серии Grand Theft Auto. Однако вы можете сделать это в сетевом модуле, то есть в GTA Online.
Это способ получить дополнительные деньги. Достаточно приехать на данной машине в одну из мастерских Los Santos Customs и выбрать подходящий вариант. Учтите, что таким способом нельзя продать полицейскую машину, скорую помощь или другой служебный автомобиль.
Вы также будете нацелены на продажу роскошных суперкаров и гиперкаров. Также обратите внимание, что существует ограничение на количество проданных копий. Если вы не видите возможности продать машину, просто вернитесь через некоторое время и попробуйте еще раз.
Что дает трансмиссия в гта 5 рп
Как установить Manual Transmission mod?
Убедиться, что установлен Script Hook V
Скопировать файлы MTconfig.ini и ManualTransmission.asi в папку с игрой (туда где находится файл gta5.exe)
Принцип ценообразования
Ответ на пост «Как от меня съезжала девушка»
Когда мой бывший муж разводился с первой женой, та у него из дома забрала унитаз. Чешский, хороший, дефицитный. Мол, папа её доставал по блату, не оставлять же.
Это был 90-91 год, унитаз так просто не купить. Бывший муж месяца три ходил в туалет только на работе, пока новый не добыл.
Но вот что не даёт мне покоя. Она ж не просто уходила, а к другому мужчине. Неужто она ему унитаз в качестве приданого принесла?
О хранении
Rockstar реализует наработки пользователя в GTA Online по улучшению времени загрузки
В начале марта пользователь сервиса Github с ником tostercx, также известный как t0st, заявил о способе значительного сокращения времени загрузки GTA Online до 70 процентов. Кроме того, tostercx с единомышленниками выпустили неофициальный патч для версии GTA Online 2215/1.53, в котором исправили две ошибки игры и собственно сократили время загрузки систем.
Коллективная сознательность
Пособие для новичков как попасть в гетто (GTA 5 RP)
Уважайте чужое мнение и будьте дружелюбны, добро пожаловать в наше сообщество!
Что-то на эльфийском, кажется
BadComedian в начале своего творческого пути
Наверное купил фильмы с Невским.
Как я сократил время загрузки GTA Online на 70%
GTA Online. Многопользовательская игра, печально известная медленной загрузкой. Недавно я вернулся, чтобы завершить несколько ограблений — и был потрясён, что она загружается настолько же медленно, как и в день своего выпуска, 7 лет назад.
Пришло время докопаться до сути.
Человек залез в «исходный код» игры, нашел криво работающую функцию и исправил ее, благодаря этому скорость загрузки возросла на 70%. Ссылки на dll для увеличения скорости в конце статьи.
Сначала я хотел проверить, вдруг кто-то уже решил проблему. Но нашёл только рассказы о великой сложности игры, из-за чего она так долго загружается, истории о том, что сетевая p2p-архитектура — мусор (хотя это не так), некоторые сложные способы загрузки в сюжетный режим, а потом в одиночную сессию, и ещё пару модов, чтобы скипнуть видео с логотипом R* во время загрузки. Ещё немного почитав форумы, я узнал, что можно сэкономить колоссальные 10-30 секунд, если использовать все эти способы вместе!
Тем временем на моём компе…
Загрузка сюжетного режима:
Без загрузочного меню, от логотипа R* до игрового процесса (без логина в Cоциальный Клуб.
Старый, но приличный проц: AMD FX-8350
Дешёвый SSD: KINGSTON SA400S37120G
Надо бы прикупить RAM: 2x Kingston 8192 MB (DDR3-1337) 99U5471
Нормальный GPU: NVIDIA GeForce GTX 1070
Если доверять этому опросу, проблема достаточно широко распространена, чтобы слегка раздражать более 80% игроков. Прошло уже семь лет!
Я немного поискал информацию о тех
Почему у них сюжетный режим по-прежнему загружается около минуты? (кстати, при загрузке с M.2 NVMe не учитывались видео с логотипами). Кроме того, загрузка из сюжетного режима в онлайн занимает у них всего минуту, в то время как у меня около пяти. Я знаю, что их железо гораздо лучше, но не в пять же раз.
Вооружившись таким мощным инструментом, как Диспетчер задач, я приступил к поиску узкого места.
Почти минута уходит на загрузку общих ресурсов, которые нужны и для сюжетного режима, и для онлайна (почти наравне с топовыми ПК), затем GTA в течение четырёх минут полностью нагружает одно ядро CPU, больше ничего не делая.
Использование диска? Нет! Использование сети? Есть немного, но через несколько секунд падает в основном до нуля (кроме загрузки вращающихся информационных баннеров). Использование GPU? Ноль. Память? Вообще ничего…
Что это, майнинг биткоинов или что-то такое? Чую здесь код. Очень плохой код.
На моём старом процессоре AMD восемь ядер, и он ещё молодцом, но это старая модель. Его сделали ещё тогда, когда производительность одного потока у AMD была намного ниже, чем у Intel. Наверное, это главная причина таких различий во времени загрузки.
Что странно, так это способ использования CPU. Я ожидал огромное количество операций чтения с диска или массу сетевых запросов, чтобы организовать сеансы в сети p2p. Но такое? Вероятно, здесь какая-то ошибка.
Профилировщик — отличный способ найти узкие места в CPU. Есть только одна проблема — большинство из них полагаются на инструментирование исходного кода, чтобы получить идеальную картину происходящего в процессе. А у меня нет исходного кода. Мне также не требуются идеальные показания в микросекундах, у меня узкое место на 4 минуты.
Итак, добро пожаловать в образцы стека (stack sampling). Для приложений с закрытым исходным кодом есть только такой вариант. Сбросьте стек запущенного процесса и местоположение указателя текущей инструкции, чтобы построить дерево вызовов в заданные интервалы. Затем наложите их — и получите статистику о том, что происходит. Я знаю только один профилировщик, который может проделать это под Windows. И он не обновлялся уже более десяти лет. Это Люк Stackwalker! Кто-нибудь, пожалуйста, подарите Люку немножко любви 🙂
Обычно Люк группировал бы одинаковые функции, но у меня нет отладочных символов, поэтому пришлось смотреть на соседние адреса, чтобы искать общие места. И что же мы видим? Не одно, а целых два узких места!
Вниз по кроличьей норе
Позаимствовав у моего друга совершенно законную копию стандартного дизассемблера (нет, я действительно не могу его себе позволить… когда-нибудь освою гидру), я пошёл разбирать GTA.
Выглядит совсем неправильно. Да, у большинства топовых игр есть встроенная защита от реверс-инжиниринга, чтобы защититься от пиратов, мошенников и моддеров. Не то чтобы это их когда-то останавливало…
Похоже, здесь применили какую-то обфускацию/шифрование, заменив большинство инструкций тарабарщиной. Не волнуйтесь, нужно просто сбросить память игры, пока она выполняет ту часть, на которую мы хотим посмотреть. Инструкции должны быть деобфусцированы перед запуском тем или иным способом. У меня рядом лежал Process Dump, так что я взял его, но есть много других инструментов для подобных задач.
Проблема 1: это что… strlen?!
Дальнейший разбор дампа выявил один из адресов с некоей меткой strlen, которая откуда-то берётся! Спускаясь вниз по стеку вызовов, предыдущий адрес помечен как vscan_fn, и после этого метки заканчиваются, хотя я вполне уверен, что это sscanf.
Он что-то парсит. Но что? Логический разбор займёт целую вечность, поэтому я решил сбросить некоторые образцы из запущенного процесса с помощью x64dbg. Через несколько шагов отладки выясняется, что это… JSON! Он парсит JSON. Колоссальные десять мегабайт JSON’а с записями 63 тыс. предметов.
.
«key»: «WP_WCT_TINT_21_t2_v9_n2»,
«price»: 45000,
«statName»: «CHAR_KIT_FM_PURCHASE20»,
«storageType»: «BITFIELD»,
«bitShift»: 7,
«bitSize»: 1,
«category»: [«CATEGORY_WEAPON_MOD»]
>,
.
Проясним некоторую путаницу: я полагаю, что это предметы, приобретаемые за игровые деньги, не связанные напрямую с микротранзакциями.
10 мегабайт? В принципе, не так уж и много. Хотя sscanf используется не самым оптимальным образом, но, конечно, это не так уж плохо? Что ж…
Да, такая процедура займёт некоторое время… Честно говоря, я понятия не имел, что большинство реализаций sscanf вызывают strlen, поэтому не могу винить разработчика, который написал это. Я бы предположил, что он просто сканировал байт за байтом и мог остановиться на NULL.
Проблема 2: давайте использовать хэш-…массив?
Оказывается, второго преступника вызывают сразу за первым. Даже в одной и той же конструкции if, как видно из этой уродливой декомпиляции:
Все метки мои, и я понятия не имею, как на самом деле называются функции/параметры.
Вторая проблема? Сразу после разбора элемента он хранится в массиве (или встроенном списке C++? не уверен). Каждая запись выглядит примерно так:
А перед сохранением? Он проверяет весь массив, сравнивая хэш каждого элемента, есть он в списке или нет. С 63 тыс. записей это примерно (n^2+n)/2 = (63000^2+63000)/2 = 1984531500, если я не ошибаюсь в расчётах. И это в основном бесполезные проверки. У вас есть уникальные хэши, почему не использовать хэш-таблицу.
Во время реверс-инжиниринга я назвал его hashmap, но это явно не_hashmap. И дальше ещё интереснее. Этот хэш-массив-список пуст перед загрузкой JSON. И все элементы в JSON уникальны! Им даже не нужно проверять, есть они в списке или нет! У них даже есть функция прямой вставки элементов! Просто используйте её! Серьёзно, ну ребята, что за фигня!?
Всё это конечно классно, но никто не воспримет меня всерьёз, пока я не напишу реальный код для ускорения загрузки, чтобы сделать кликбейтный заголовок для поста.
Проблема с JSON нетривиальная, я не могу реально заменить их парсер. Более реалистичным кажется заменить sscanf на тот, который не зависит от strlen. Но есть ещё более простой способ.
* подождать длинной строки
* если поступит ещё вызов в пределах диапазона строки, вернуть закэшированное значение
Что-то вроде такого:
А что касается проблемы хэш-массива, то здесь просто полностью пропускаем все проверки и вставляем элементы напрямую, поскольку мы знаем, что значения уникальны.
Полный исходный код PoC здесь.
Ну и как оно работает?
Прежнее время загрузки онлайн-режима: около 6м
Время с патчем проверки дубликатов: 4м 30с
Время с парсером JSON: 2м 50с
Время с двумя патчами вместе: 1м 50с
Да, чёрт возьми, получилось! :))
Скорее всего, это не решит всех проблем с загрузкой — в разных системах могут быть и другие узкие места, но это такая зияющая дыра, что я понятия не имею, как R* пропустила её за все эти годы.
При запуске GTA Online есть узкое место, связанное с однопоточным вычислением
Оказалось, GTA изо всех сил пытается распарсить 10-мегабайтный файл JSON
Сам парсер JSON плохо сделан/наивен и
После парсинга происходит медленная процедура удаления дублей
R*, пожалуйста, исправьте
Если информация каким-то образом дойдёт до инженеров Rockstar, то проблему можно решить в течение нескольких часов силами одного разработчика. Пожалуйста, ребята, сделайте что-нибудь с этим :