Dies ist ein Mod in einer frühen Entwicklungsphase, keine eigenständige Software
Niedrige oder instabile FPS mit einer großen Mod-Liste? Bevor du anfängst, Mods wahllos zu löschen, miss nach.
Perf Profiler misst den Haupt-Lua-Thread des Spiels von innen und schreibt alle 20 Sekunden eine übersichtliche Rangliste in log.txt:
- Welches MOD die meisten Millisekunden pro Frame kostet
- Welche FUNKTION darin (Hooks, Listener, Fahrzeug-/Placeable-Spezialisierungen, Spielsysteme)
- Wie viel des Frames überhaupt auf Lua entfällt und wie viel auf die Engine (Rendering, Physik, Laden)
- JEDEN SPIKE (Frame über 40 ms) mit seinen wichtigsten Verursachern, als LUA oder ENGINE markiert
Ein echtes Beispiel aus einem Spielstand mit 2.489 Mods: Die Skripte benötigten nur etwa 4 ms eines etwa 19 ms langen Frames. Der teure Teil lag woanders, und der Profiler zeigte das in 20 Minuten statt in einer Woche voller Trial-and-Error.
WAS GEMESSEN WIRD
- hook: von Mods angehängte Funktionen (Utils.appendedFunction / prependedFunction / overwrittenFunction)
- ovr: von Spezialisierungen überschriebene Funktionen, nach Namen
- mod: update()/draw() von Mod-Ereignis-Listenern
- spec: onUpdate / onUpdateTick / onPostUpdate / onDraw der Fahrzeug-, Placeable- und Handwerkzeug-Spezialisierungen
- veh: / plc: gesamte Aktualisierung jedes Fahrzeugs und Placeables
- sys: Spielsysteme (Umgebung, KI, Verkehr, Wasser, Wirtschaft ...)
- frame: gesamtes Lua pro Frame - die Aufteilung zwischen Skripten und Engine
Jeder Eintrag zeigt die „self“-Zeit (ohne doppelte Zählung) und die „incl“-Zeit (mit allem Verschachtelten).
VERWENDUNG
1. Lege AAA_PerfProfiler.zip in deinen Mods-Ordner und aktiviere ihn im Spielstand.
Behalte den Namen - „AAA_“ sorgt dafür, dass der Mod zuerst geladen wird, was nötig ist, um die Hooks anderer Mods abzufangen.
2. Spiele normal. Die ersten 20 Sekunden nach dem Laden werden übersprungen.
3. Lies die [PerfProfiler]-Zeilen in log.txt (Documents/My Games/FarmingSimulator2025/log.txt).
KONSOLENBEFEHLE (~)
ppReport - jetzt einen Bericht schreiben
ppReset - Statistiken zurücksetzen (Nacht, Regen und Feldarbeit separat messen)
ppStart / ppStop - Messung fortsetzen / pausieren
ppSpike <ms> - Spike-Schwellenwert (Standard: 40)
ppTop <n> - Länge der Rangliste (Standard: 35)
ppInterval <s> - Berichtsintervall (Standard: 20)
GUT ZU WISSEN
- Dies ist ein Testwerkzeug. Die Messung kostet etwa 0,5 ms pro Frame, entferne es daher, wenn du fertig bist.
- Es ändert nichts an deinem Spielstand oder am Gameplay. Es misst nur die Laufzeit von Funktionen und protokolliert die Ergebnisse.
- Es misst Lua im Hauptthread. Die Engine-Seite (Rendering, Physik) erscheint als „engine“-Zeit und als ENGINE-Spikes.
- Multiplayer: unterstützt. Wie bei jedem Mod benötigt jeder Spieler dieselbe Datei, wenn der Host sie aktiviert hat.
- Die vollständige Dokumentation (README.md) mit einer Erklärung jeder Logzeile befindet sich im Zip-Archiv.
VERSION
1.2.2.0
AUTOR
Siemanek
LIZENZ
MIT - frei zur Nutzung, Änderung und Weitergabe. Namensnennung ist erwünscht.