Что значит фт машина в гта 5 рп

Что такое взп в гта 5 рп

Ребят, не приятная ситуация. Играю GTA 5 RP. И там тип набор в армию, меня спрашивают там всё ок, но меня спросили что такое «РП» Кто знает? Нужна помощь. 🙁 Они говорят, то что нужна расшифровка, но это не role play. Так что я хз. Серьёзно, кто знает расскажите!

Хз как в GTA V RP, но в SAMP если спрашивают что такое RP в обычном чате, нужно придумать любой РП-термин (ручной пулемет и т. д.), а если спросили в Nonrp-чате, то можешь ответить Role Play. Это обычная проверка на знание правил RP-серверов. Тут, вероятно, то же самое

Среди всех, ты ответил правильно! Мне просто уже в поддержки ответили) Но тоже не плохо! 🙂

играть роль кого-то.

Нет, не то. я знаю что такое рп, но когда говорю воякам, они говорят, то что нет

Ролевая игра, это когда ты играешь роль кого-либо. Бомжа, бизнесмена, работягу и т. д.

Аббревиатура «РП» (расшифровывается как «Role Play») и означает — ИГРА ПО РОЛЯМ (каждый обязан соблюдать свою роль);

ВЗХ v2.0

Что значит фт машина в гта 5 рп

На каждый из титульных районов дается по 1 хаммеру.

Начало мероприятия каждое воскресенья в 21:00

Интерьер на титульном районе является зеленой зоной. Стрельба в него как и из него, строго запрещена. Любое нарушение правил мероприятия может привести к дисквалификации!

Правила ВЗМ

2. Мероприятие запускается на усмотрение главного куратора мафий/банд/мотоклубов или ЗГА/ГА и не имеет утвержденного графика проведения.

3. Количество материалов в порту не фиксированное и выставляется на усмотрение кураторов/ЗГА/ГА.
Примечание: одна матовозка(Youga) вмещает в себя 1500 материалов.

4. Победителем мероприятия является фракция, которая останется последней в живых на территории.

1. О начале мероприятия администрация объявляет минимум за час в общем discord-канале криминальный фракций.

2. Ожидать старта мероприятия разрешено вне территории порта Los Santos. | Устный выговор лидеру + дисквалификация.
Примечание: территория мероприятия находится за желтыми линиями (см.карту ниже), передвигаться от одной точки к другой разрешено через дорогу, которая не прилегает к порту.

4. На территории мероприятия не распространяются такие правила как PG,MG,DM.

5. Разрешено занимать любые крыши и возвышенности.

8. Запрещена стрельба из красной зоны (см.карту ниже) в нейтрал, так же и наоборот. | Demorgan 60 минут.

9. Запрещено намеренно выбегать / забегать в красную зону с целью предотвращения / остановки стрельбы. | Demorgan 120 минут.

Что значит фт машина в гта 5 рп

Термины ГТА 5 РП

Посмотрите данный видеоролик, ведь там автор затронул тему набора игроков во фракции. Ведь там есть свои хитрости и уловки, о которых вы могли не знать! Если не хочешь провалить набор во фракцию из за не знания фишек которые используют в чат гта 5 рп то ты просто обязан посмотреть видео!

Команды ГТА 5 РП

Примеры введения команд в чат ГТА 5 РП

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

Источник

Что значит фт машина в гта 5 рп

Что значит фт машина в гта 5 рп

Мотоциклы

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

Что значит фт машина в гта 5 рп

Список машин в игре GTA 5 RP и их цены, классы и в каких салонах можно найти

В «ГТА» одна из самых больших коллекций транспортных средств во всей гейм-вселенной. И даже заядлые фанаты игры не в состоянии перечислить все, что когда-либо каталось по улицам Лос-Сантоса. Это изобилие дает массу возможностей: стать автосталкером и перепродавать редкие машины, собирать их коллекцию в своем гараже или открыть автосалон. В любом случае, нужно знать, какие машины есть в «GTA 5 RP» и что они собой представляют.

Как я сократил время загрузки 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% игроков. Прошло уже семь лет!

Что значит фт машина в гта 5 рп

Я немного поискал информацию о тех

Почему у них сюжетный режим по-прежнему загружается около минуты? (кстати, при загрузке с M.2 NVMe не учитывались видео с логотипами). Кроме того, загрузка из сюжетного режима в онлайн занимает у них всего минуту, в то время как у меня около пяти. Я знаю, что их железо гораздо лучше, но не в пять же раз.

Вооружившись таким мощным инструментом, как Диспетчер задач, я приступил к поиску узкого места.

Что значит фт машина в гта 5 рп

Почти минута уходит на загрузку общих ресурсов, которые нужны и для сюжетного режима, и для онлайна (почти наравне с топовыми ПК), затем GTA в течение четырёх минут полностью нагружает одно ядро CPU, больше ничего не делая.

Использование диска? Нет! Использование сети? Есть немного, но через несколько секунд падает в основном до нуля (кроме загрузки вращающихся информационных баннеров). Использование GPU? Ноль. Память? Вообще ничего…

Что это, майнинг биткоинов или что-то такое? Чую здесь код. Очень плохой код.

На моём старом процессоре AMD восемь ядер, и он ещё молодцом, но это старая модель. Его сделали ещё тогда, когда производительность одного потока у AMD была намного ниже, чем у Intel. Наверное, это главная причина таких различий во времени загрузки.

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

Профилировщик — отличный способ найти узкие места в CPU. Есть только одна проблема — большинство из них полагаются на инструментирование исходного кода, чтобы получить идеальную картину происходящего в процессе. А у меня нет исходного кода. Мне также не требуются идеальные показания в микросекундах, у меня узкое место на 4 минуты.

Итак, добро пожаловать в образцы стека (stack sampling). Для приложений с закрытым исходным кодом есть только такой вариант. Сбросьте стек запущенного процесса и местоположение указателя текущей инструкции, чтобы построить дерево вызовов в заданные интервалы. Затем наложите их — и получите статистику о том, что происходит. Я знаю только один профилировщик, который может проделать это под Windows. И он не обновлялся уже более десяти лет. Это Люк Stackwalker! Кто-нибудь, пожалуйста, подарите Люку немножко любви 🙂

Что значит фт машина в гта 5 рп

Обычно Люк группировал бы одинаковые функции, но у меня нет отладочных символов, поэтому пришлось смотреть на соседние адреса, чтобы искать общие места. И что же мы видим? Не одно, а целых два узких места!

Вниз по кроличьей норе

Позаимствовав у моего друга совершенно законную копию стандартного дизассемблера (нет, я действительно не могу его себе позволить… когда-нибудь освою гидру), я пошёл разбирать GTA.

Что значит фт машина в гта 5 рп

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

Похоже, здесь применили какую-то обфускацию/шифрование, заменив большинство инструкций тарабарщиной. Не волнуйтесь, нужно просто сбросить память игры, пока она выполняет ту часть, на которую мы хотим посмотреть. Инструкции должны быть деобфусцированы перед запуском тем или иным способом. У меня рядом лежал Process Dump, так что я взял его, но есть много других инструментов для подобных задач.

Проблема 1: это что… strlen?!

Дальнейший разбор дампа выявил один из адресов с некоей меткой strlen, которая откуда-то берётся! Спускаясь вниз по стеку вызовов, предыдущий адрес помечен как vscan_fn, и после этого метки заканчиваются, хотя я вполне уверен, что это sscanf.

Что значит фт машина в гта 5 рп

Он что-то парсит. Но что? Логический разбор займёт целую вечность, поэтому я решил сбросить некоторые образцы из запущенного процесса с помощью 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 используется не самым оптимальным образом, но, конечно, это не так уж плохо? Что ж…

Что значит фт машина в гта 5 рп

Да, такая процедура займёт некоторое время… Честно говоря, я понятия не имел, что большинство реализаций sscanf вызывают strlen, поэтому не могу винить разработчика, который написал это. Я бы предположил, что он просто сканировал байт за байтом и мог остановиться на NULL.

Проблема 2: давайте использовать хэш-…массив?

Оказывается, второго преступника вызывают сразу за первым. Даже в одной и той же конструкции if, как видно из этой уродливой декомпиляции:

Что значит фт машина в гта 5 рп

Все метки мои, и я понятия не имею, как на самом деле называются функции/параметры.

Вторая проблема? Сразу после разбора элемента он хранится в массиве (или встроенном списке C++? не уверен). Каждая запись выглядит примерно так:

А перед сохранением? Он проверяет весь массив, сравнивая хэш каждого элемента, есть он в списке или нет. С 63 тыс. записей это примерно (n^2+n)/2 = (63000^2+63000)/2 = 1984531500, если я не ошибаюсь в расчётах. И это в основном бесполезные проверки. У вас есть уникальные хэши, почему не использовать хэш-таблицу.

Что значит фт машина в гта 5 рп

Во время реверс-инжиниринга я назвал его hashmap, но это явно не_hashmap. И дальше ещё интереснее. Этот хэш-массив-список пуст перед загрузкой JSON. И все элементы в JSON уникальны! Им даже не нужно проверять, есть они в списке или нет! У них даже есть функция прямой вставки элементов! Просто используйте её! Серьёзно, ну ребята, что за фигня!?

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

Проблема с JSON нетривиальная, я не могу реально заменить их парсер. Более реалистичным кажется заменить sscanf на тот, который не зависит от strlen. Но есть ещё более простой способ.

* подождать длинной строки

* если поступит ещё вызов в пределах диапазона строки, вернуть закэшированное значение

Что-то вроде такого:

Что значит фт машина в гта 5 рп

А что касается проблемы хэш-массива, то здесь просто полностью пропускаем все проверки и вставляем элементы напрямую, поскольку мы знаем, что значения уникальны.

Что значит фт машина в гта 5 рп

Полный исходный код PoC здесь.

Ну и как оно работает?

Прежнее время загрузки онлайн-режима: около 6м
Время с патчем проверки дубликатов: 4м 30с
Время с парсером JSON: 2м 50с
Время с двумя патчами вместе: 1м 50с

Да, чёрт возьми, получилось! :))

Скорее всего, это не решит всех проблем с загрузкой — в разных системах могут быть и другие узкие места, но это такая зияющая дыра, что я понятия не имею, как R* пропустила её за все эти годы.

При запуске GTA Online есть узкое место, связанное с однопоточным вычислением

Оказалось, GTA изо всех сил пытается распарсить 10-мегабайтный файл JSON

Сам парсер JSON плохо сделан/наивен и

После парсинга происходит медленная процедура удаления дублей

R*, пожалуйста, исправьте

Если информация каким-то образом дойдёт до инженеров Rockstar, то проблему можно решить в течение нескольких часов силами одного разработчика. Пожалуйста, ребята, сделайте что-нибудь с этим :

Источник

GTA 5 RP / Система автомобилей и тюнинга

Привет, сейчас я расскажу тебе об автомобилях и как они реализованы на моём сервере. Ты спросишь: А что может быть сложного? В RAGE Multiplayer автомобили уже есть и могут кататься по серверу.

Но нет, на Cosmo RP система транспорта очень сложна и продумана с точки зрения сервера, но не с точки зрения игрока.

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

Во-вторых, любой транспорт необходимо обслуживать и у машин на Cosmo RP для этого есть множество параметров. Например, каждая запчасть у автомобиля есть ресурс, который используется при использовании автомобиля. Чем «жестче» ты используешь автомобиль, тем быстрее уходит ресурс. Но слава богу, есть автосервисы где ты можешь чинить или улучшать (тюнинговать) транспорт. Кроме стандартного тюнинга GTA 5, на сервере присутствует кастомный тюнинг, разработанный мной.

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

На этом я хотела бы закончить и попрощаться до следующей новости.

Подписывайся на группу, ставь лайки и пиши комментарии.

Что значит фт машина в гта 5 рп

GTA 5 RP

3 поста 14 подписчиков

Что значит фт машина в гта 5 рп

Что значит фт машина в гта 5 рп

Что значит фт машина в гта 5 рп

Что значит фт машина в гта 5 рп

Rockstar реализует наработки пользователя в GTA Online по улучшению времени загрузки

В начале марта пользователь сервиса Github с ником tostercx, также известный как t0st, заявил о способе значительного сокращения времени загрузки GTA Online до 70 процентов. Кроме того, tostercx с единомышленниками выпустили неофициальный патч для версии GTA Online 2215/1.53, в котором исправили две ошибки игры и собственно сократили время загрузки систем.

Что значит фт машина в гта 5 рп

Энтузиаст предоставил развернутый анализ проблемы и методы её решения. Вкратце, замедление было вызвано «узким местом в одном потоке ЦП при запуске GTA Online». По оценкам tostercx, крупная команда разработчиков смогла бы решить проблему в течение суток после обнаружения.

К чести Rockstar, компания публично признала выводы tostercx и пообещала выпустить исправление в ближайшем патче: «После тщательного расследования мы можем подтвердить, что игрок t0st действительно раскрыл аспект кода игры, связанный со временем загрузки ПК-версии GTA Online, который можно улучшить. На основе этих исследований мы разработали некоторые изменения, которые будут внесены в предстоящее обновление игры».

Помимо удовлетворения от проделанной работы, tostercx получил солидное вознаграждение в размере 10 тысяч долларов США в рамках программы Bug Bounty. Обычно программа предусматривает выплаты за обнаружение проблем с безопасностью или конфиденциальностью в онлайн-играх Rockstar, но компания решила назначить награду «в качестве исключения», рассказал tostercx.

Что значит фт машина в гта 5 рп

Ответ на пост «Как я сократил время загрузки GTA Online на 70%»

Rockstar Games подтвердила PC Gamer, что фанатское решение проблемы долгого времени загрузки GTA Online станет официальным в грядущем обновлении.

В начале марта пользователь Github tostercx, также известный как t0st, заявил, что он обнаружил способ сократить время загрузки GTA Online до 70 процентов. Кроме того, он также выпустил исправление.

Rockstar подтвердила, что выводы tostercx были верными и что исправление уже в пути.

Последнее обновление для GTA Online вышло на всех основных платформах. На PlayStation обновление весит 700 МБ, на Xbox – 1 ГБ и на ПК – 400 МБ.

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

t0st также сообщил, что он «получил награду в размере 10 тысяч долларов» в рамках программы Rockstar по поиску багов, которая обычно используется только для устранения серьезных проблем с безопасностью.

Что значит фт машина в гта 5 рп

Что значит фт машина в гта 5 рп

Как я сократил время загрузки 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% игроков. Прошло уже семь лет!

Что значит фт машина в гта 5 рп

Я немного поискал информацию о тех

Почему у них сюжетный режим по-прежнему загружается около минуты? (кстати, при загрузке с M.2 NVMe не учитывались видео с логотипами). Кроме того, загрузка из сюжетного режима в онлайн занимает у них всего минуту, в то время как у меня около пяти. Я знаю, что их железо гораздо лучше, но не в пять же раз.

Вооружившись таким мощным инструментом, как Диспетчер задач, я приступил к поиску узкого места.

Что значит фт машина в гта 5 рп

Почти минута уходит на загрузку общих ресурсов, которые нужны и для сюжетного режима, и для онлайна (почти наравне с топовыми ПК), затем GTA в течение четырёх минут полностью нагружает одно ядро CPU, больше ничего не делая.

Использование диска? Нет! Использование сети? Есть немного, но через несколько секунд падает в основном до нуля (кроме загрузки вращающихся информационных баннеров). Использование GPU? Ноль. Память? Вообще ничего…

Что это, майнинг биткоинов или что-то такое? Чую здесь код. Очень плохой код.

На моём старом процессоре AMD восемь ядер, и он ещё молодцом, но это старая модель. Его сделали ещё тогда, когда производительность одного потока у AMD была намного ниже, чем у Intel. Наверное, это главная причина таких различий во времени загрузки.

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

Профилировщик — отличный способ найти узкие места в CPU. Есть только одна проблема — большинство из них полагаются на инструментирование исходного кода, чтобы получить идеальную картину происходящего в процессе. А у меня нет исходного кода. Мне также не требуются идеальные показания в микросекундах, у меня узкое место на 4 минуты.

Итак, добро пожаловать в образцы стека (stack sampling). Для приложений с закрытым исходным кодом есть только такой вариант. Сбросьте стек запущенного процесса и местоположение указателя текущей инструкции, чтобы построить дерево вызовов в заданные интервалы. Затем наложите их — и получите статистику о том, что происходит. Я знаю только один профилировщик, который может проделать это под Windows. И он не обновлялся уже более десяти лет. Это Люк Stackwalker! Кто-нибудь, пожалуйста, подарите Люку немножко любви 🙂

Что значит фт машина в гта 5 рп

Обычно Люк группировал бы одинаковые функции, но у меня нет отладочных символов, поэтому пришлось смотреть на соседние адреса, чтобы искать общие места. И что же мы видим? Не одно, а целых два узких места!

Вниз по кроличьей норе

Позаимствовав у моего друга совершенно законную копию стандартного дизассемблера (нет, я действительно не могу его себе позволить… когда-нибудь освою гидру), я пошёл разбирать GTA.

Что значит фт машина в гта 5 рп

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

Похоже, здесь применили какую-то обфускацию/шифрование, заменив большинство инструкций тарабарщиной. Не волнуйтесь, нужно просто сбросить память игры, пока она выполняет ту часть, на которую мы хотим посмотреть. Инструкции должны быть деобфусцированы перед запуском тем или иным способом. У меня рядом лежал Process Dump, так что я взял его, но есть много других инструментов для подобных задач.

Проблема 1: это что… strlen?!

Дальнейший разбор дампа выявил один из адресов с некоей меткой strlen, которая откуда-то берётся! Спускаясь вниз по стеку вызовов, предыдущий адрес помечен как vscan_fn, и после этого метки заканчиваются, хотя я вполне уверен, что это sscanf.

Что значит фт машина в гта 5 рп

Он что-то парсит. Но что? Логический разбор займёт целую вечность, поэтому я решил сбросить некоторые образцы из запущенного процесса с помощью 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»]
>,
.

Что это? Судя по некоторым ссылкам, это данные для «сетевого торгового каталога». Предполагаю, он содержит список всех возможных предметов и обновлений, которые вы можете купить в GTA Online.

Проясним некоторую путаницу: я полагаю, что это предметы, приобретаемые за игровые деньги, не связанные напрямую с микротранзакциями.

10 мегабайт? В принципе, не так уж и много. Хотя sscanf используется не самым оптимальным образом, но, конечно, это не так уж плохо? Что ж…

Что значит фт машина в гта 5 рп

Да, такая процедура займёт некоторое время… Честно говоря, я понятия не имел, что большинство реализаций sscanf вызывают strlen, поэтому не могу винить разработчика, который написал это. Я бы предположил, что он просто сканировал байт за байтом и мог остановиться на NULL.

Проблема 2: давайте использовать хэш-…массив?

Оказывается, второго преступника вызывают сразу за первым. Даже в одной и той же конструкции if, как видно из этой уродливой декомпиляции:

Что значит фт машина в гта 5 рп

Все метки мои, и я понятия не имею, как на самом деле называются функции/параметры.

Вторая проблема? Сразу после разбора элемента он хранится в массиве (или встроенном списке C++? не уверен). Каждая запись выглядит примерно так:

А перед сохранением? Он проверяет весь массив, сравнивая хэш каждого элемента, есть он в списке или нет. С 63 тыс. записей это примерно (n^2+n)/2 = (63000^2+63000)/2 = 1984531500, если я не ошибаюсь в расчётах. И это в основном бесполезные проверки. У вас есть уникальные хэши, почему не использовать хэш-таблицу.

Что значит фт машина в гта 5 рп

Во время реверс-инжиниринга я назвал его hashmap, но это явно не_hashmap. И дальше ещё интереснее. Этот хэш-массив-список пуст перед загрузкой JSON. И все элементы в JSON уникальны! Им даже не нужно проверять, есть они в списке или нет! У них даже есть функция прямой вставки элементов! Просто используйте её! Серьёзно, ну ребята, что за фигня!?

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

Проблема с JSON нетривиальная, я не могу реально заменить их парсер. Более реалистичным кажется заменить sscanf на тот, который не зависит от strlen. Но есть ещё более простой способ.

* подождать длинной строки

* «закэшировать» начало и длину

* если поступит ещё вызов в пределах диапазона строки, вернуть закэшированное значение

Что-то вроде такого:

Что значит фт машина в гта 5 рп

А что касается проблемы хэш-массива, то здесь просто полностью пропускаем все проверки и вставляем элементы напрямую, поскольку мы знаем, что значения уникальны.

Что значит фт машина в гта 5 рп

Полный исходный код PoC здесь.

Ну и как оно работает?

Прежнее время загрузки онлайн-режима: около 6м
Время с патчем проверки дубликатов: 4м 30с
Время с парсером JSON: 2м 50с
Время с двумя патчами вместе: 1м 50с

Да, чёрт возьми, получилось! :))

Скорее всего, это не решит всех проблем с загрузкой — в разных системах могут быть и другие узкие места, но это такая зияющая дыра, что я понятия не имею, как R* пропустила её за все эти годы.

При запуске GTA Online есть узкое место, связанное с однопоточным вычислением

Оказалось, GTA изо всех сил пытается распарсить 10-мегабайтный файл JSON

Сам парсер JSON плохо сделан/наивен и

После парсинга происходит медленная процедура удаления дублей

R*, пожалуйста, исправьте

Если информация каким-то образом дойдёт до инженеров Rockstar, то проблему можно решить в течение нескольких часов силами одного разработчика. Пожалуйста, ребята, сделайте что-нибудь с этим : Показать полностью 10

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *