Beginne mit der Messung des Fehlers. Niedriger Client-FPS, hohe Ressourcenzeit, Server-Hänger, Datenbank-Wartezeiten und Netzwerkverluste sind unterschiedliche Probleme. Erfasse eine wiederholbare Basislinie bei einer repräsentativen Spieleranzahl, bevor du Ressourcen entfernst oder Convars von einem anderen Server kopierst.
Methode: überprüft am 9. August 2026 anhand der offiziellen Cfx.re Profiler-Anleitung, Client-Konsolenbefehle und Serverbefehle.
1. Definiere das Symptom und die Basislinie
- Der FPS eines Spielers sinkt: Reproduziere dies auf diesem Client und überprüfe den Client-Ressourcenmonitor.
- Alle Spieler hängen: Zeichne Server-Hitch-Warnungen, Ressourcen-Timing, Datenbank-Latenz und Host-CPU-Auslastung auf.
- Beitritt ist langsam: Überprüfe die Größe der gestreamten Assets, das Download-Verhalten und die Initialisierungsarbeit.
- Aktionen verzögern sich: Verfolge das Ereignis und die Datenbankabfrage, anstatt die Grafik zu beschuldigen.
Zeichne die Artefaktversion, die Spieleranzahl, die aktiven Ressourcen, die Testroute und die Zeitstempel auf. Ändere jeweils nur eine Variable.
2. Verwende resmon und den Profiler korrekt
Öffne F8 und verwende resmon 1 für einen schnellen clientseitigen Vergleich. Betrachte es als Hinweis, nicht als Urteil: Das Timing variiert je nachdem, was der Spieler gerade tut. Reproduziere dieselbe Interaktion mehrmals. Für Nachweise auf Code-Ebene erstelle eine Profiler-Aufnahme während der langsamen Aktion und überprüfe den aufwendigen Bereich oder das Ereignis.
Behalte die Details FiveM resmon Leitfaden während des Tests geöffnet.
3. Behebe den Ressourcencode am Engpass
- Ersetze bedingungslose Pro-Frame-Schleifen durch ereignisgesteuerte Arbeit oder ein gerechtfertigtes Warteintervall.
- Validieren Netzwerkereignisse auf dem Server und sende nur die Daten, die der Client benötigt.
- Vermeide das Senden großer Datenmengen, wenn ein gezieltes Ereignis ausreicht.
- Cache stabile Suchvorgänge, aber invalidiere den Cache, wenn sich der zugrunde liegende Zustand ändert.
- Profile vor und nach; kürzerer Code ist nicht automatisch schnellerer Code.
4. Überprüfe die Datenbankarbeit
Protokolliere langsame Abfragen mit Parametern und Aufrufstellen. Füge Indizes erst hinzu, nachdem du das Abfragemuster bestätigt hast, und vermeide wiederholte Abfragen innerhalb von Schleifen. Fasse Schreibvorgänge zusammen, wenn die Korrektheit dies zulässt. Teste Neuverbindungen, geplante Speicherungen und Spitzen-Wirtschaftsaktionen, da eine leere Staging-Datenbank die Produktionslatenz verbergen kann.
5. Budgetiere gestreamte Assets
Überprüfe überdimensionierte Texturen, doppelte Modelle und Ressourcenpakete, die weit mehr streamen, als der Server verwendet. Teste einen sauberen Beitritt und einen belebten Ort. Überprüfe Detailstufen, Texturauflösung und Dateintegrität, bevor du Assets komprimierst oder entfernst. Ein fehlerhafter Upload kann wie ein Leistungsproblem aussehen.
6. Trenne Host-Limits von Skript-Limits
Beobachte die CPU-Auslastung pro Kern, den Speicherdruck, die Speicherlatenz, den Paketverlust und den Datenbankstandort. FiveM-Workloads können einen ausgelasteten Kern zum Engpass machen, während die gesamte CPU-Auslastung noch niedrig aussieht. Vergleiche Hosts mit dem gleichen Build und der gleichen Last; RAM und beworbene Slots allein beweisen keine Kapazität.
7. Ausrollen und überwachen
- Sichere die Ressource, die Konfiguration und die betroffenen Datenbanktabellen.
- Setze eine gemessene Korrektur auf Staging ein.
- Wiederhole das Basisszenario und vergleiche die gleichen Metriken.
- Veröffentliche während eines kontrollierten Zeitfensters und beobachte Hitch-, Fehler- und Spielerberichte.
- Mache sofort ein Rollback, wenn die Zielmetrik oder der Gameplay-Fluss zurückgeht.
Die Optimierung ist erst abgeschlossen, wenn das gemessene Symptom sich verbessert, ohne den Fehler an eine andere Stelle zu verschieben.