Это мод на ранней стадии разработки, а не самостоятельное программное обеспечение
Низкий или нестабильный FPS при большом списке модов? Прежде чем начинать удалять моды наугад, выполните измерения.
Perf Profiler измеряет главный поток Lua игры изнутри и каждые 20 секунд записывает понятный рейтинг в log.txt:
- Какой МОД потребляет больше всего миллисекунд на кадр
- Какая ФУНКЦИЯ внутри него (хуки, слушатели, специализации техники/placeable, игровые системы)
- Какая часть кадра приходится на Lua, а какая на движок (рендеринг, физика, загрузка)
- Каждый СКАЧОК (кадр дольше 40 мс) с основными источниками нагрузки, отмеченный как LUA или ENGINE
Реальный пример из сохранения с 2489 модами: скрипты занимали всего около 4 мс из кадра длительностью около 19 мс. Самая затратная часть находилась в другом месте, и профилировщик показал это за 20 минут вместо недели проб и ошибок.
ЧТО ИЗМЕРЯЕТСЯ
- hook: функции, добавленные модами (Utils.appendedFunction / prependedFunction / overwrittenFunction)
- ovr: функции, переопределённые специализациями, по имени
- mod: update()/draw() слушателей событий модов
- spec: onUpdate / onUpdateTick / onPostUpdate / onDraw специализаций техники, placeable и ручных инструментов
- veh: / plc: общее время обновления каждой единицы техники и каждого placeable
- sys: игровые системы (окружение, ИИ, трафик, вода, экономика...)
- frame: общее время Lua за кадр — соотношение скриптов и движка
Каждая запись показывает время «self» (без двойного подсчёта) и время «incl» (со всем вложенным).
КАК ИСПОЛЬЗОВАТЬ
1. Поместите AAA_PerfProfiler.zip в папку с модами и активируйте его в сохранении.
Не меняйте имя — «AAA_» обеспечивает загрузку мода первым, что необходимо для перехвата хуков других модов.
2. Играйте как обычно. Первые 20 секунд после загрузки пропускаются.
3. Читайте строки [PerfProfiler] в log.txt (Documents/My Games/FarmingSimulator2025/log.txt).
КОМАНДЫ КОНСОЛИ (~)
ppReport - немедленно записать отчёт
ppReset - сбросить статистику (измерять ночь, дождь и работу в поле отдельно)
ppStart / ppStop - возобновить / приостановить измерения
ppSpike <ms> - порог скачка (по умолчанию 40)
ppTop <n> - длина рейтинга (по умолчанию 35)
ppInterval <s> - интервал отчётов (по умолчанию 20)
ВАЖНО ЗНАТЬ
- Это инструмент для тестирования. Измерения занимают около 0,5 мс на кадр, поэтому после завершения удалите его.
- Он ничего не изменяет в сохранении или игровом процессе. Он только измеряет время выполнения функций и записывает результаты.
- Измеряется Lua главного потока. Сторона движка (рендеринг, физика) отображается как время «engine» и скачки ENGINE.
- Мультиплеер: поддерживается. Как и для любого мода, каждому игроку нужен тот же файл, если хост активировал этот мод.
- Полная документация (README.md) с объяснением каждой строки лога находится внутри zip-архива.
ВЕРСИЯ
1.2.2.0
АВТОР
Siemanek
ЛИЦЕНЗИЯ
MIT — свободное использование, изменение и распространение. Указание автора приветствуется.