Обнаружение задержки сценария (MS) с помощью функции Resmon на серверах FiveM
Основной причиной мгновенных зависаний (заиканий) и падений FPS, с которыми сталкиваются игроки на PVP-серверах FiveM, является не аппаратное обеспечение машины, а неправильно оптимизированные скрипты (ресурс), добавленные на сервер. Предлагается игровым движком FiveM. Монитор ресурсов (Ресмон) Благодаря его интерфейсу вы можете мгновенно увидеть, какой скрипт потребляет процессор (ЦП). В этом руководстве вы узнаете об оптимизации MS.
Шаг 1: Активация интерфейса Resmon
Чтобы увидеть значения потребления скриптов на вашем сервере во время игры, выполните следующие действия:
- с твоей клавиатуры
F8Откройте консоль FiveM, нажав кнопку. - к консоли
resmon 1Введите и нажмите Enter. В правом верхнем углу экрана откроется панель, где будут перечислены все скрипты. (Чтобы закрытьresmon 0можешь написать).
Шаг 2: Чтение значений (ЦП, мс и Память)
В открытой панели есть два важных столбца. Для обеспечения работоспособности вашего сервера вам следует проанализировать эти столбцы следующим образом:
- ЦП мсек (милсекунд): Это процессорное время, которое сценарий тратит за цикл. Сумма, которую работоспособный скрипт тратит в режиме ожидания от 0,01 мс до 0,05 мс Это должно быть между .
- Даже если ты сидишь без дела в списке 0,50 мс, 1,0 мс или выше Если вы видите сценарий, который потребляет значение, значит, этот сценарий закодирован неправильно. Обычно открытый код
Citizen.CreateThreadили работаю каждую долю секундыCitizen.Wait(0)циклы вызывают это. - Память: Это пространство, занимаемое сценарием в оперативной памяти. Если потребление памяти (утечка памяти) постоянно увеличивается с течением времени, этот сценарий будет потреблять оперативную память, пока сервер остается открытым, и в конечном итоге приведет к сбою сервера.
Шаг 3: Точное решение и оптимизация
- Изучая блоки кода сценариев, которые потребляют большое количество MS, добавьте элементы управления расстоянием (циклы while) или время ожидания цикла (которое будет работать только при взаимодействии игрока (например, при приближении к маркеру)).
Wait(1000)и т. д.) - Если вы не можете оптимизировать, выберите альтернативные, оптимизированные обновленные версии этого скрипта, чтобы снизить нагрузку на вашу систему.
Эта статья специально подготовлена для PvPServer.