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
- Die FPS eines Spielers sinken: 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
In einer erlaubten Entwicklungsumgebung öffne F8 und verwende resmon true für einen schnellen clientseitigen Vergleich. Cfx.re klassifiziert resmon als Entwicklerbefehl; ein normaler Client kann den Zugriff verweigern. Behandle es als Hinweis, nicht als Urteil: Das Timing variiert je nachdem, was der Spieler tut. Reproduziere dieselbe Interaktion mehrmals. Für Code-Level-Beweise erstelle eine Profiler-Aufnahme während der langsamen Aktion und überprüfe den teuren Bereich oder das Ereignis.
Halte den ausführlichen 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.
- Validiere 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.
- Speichere die Ergebnisse stabiler Abfragen zwischen, aber mache den Cache ungültig, wenn sich der zugrunde liegende Zustand ändert.
- Erstelle vorher und nachher Leistungsprofile; kürzerer Code ist nicht automatisch schneller.
4. Überprüfe die Datenbankarbeit
Erfasse die Laufzeiten langsamer Abfragen und die aufrufenden Codestellen. Entferne Zugangsdaten und Spielerdaten aus geteilten Abfragebeispielen. Lege Indizes erst an, wenn das Abfragemuster bestätigt ist, und vermeide wiederholte Abfragen in Schleifen. Fasse Schreibvorgänge zusammen, sofern das Ergebnis korrekt bleibt. Teste erneute Verbindungen, geplantes Speichern und Wirtschaftsaktionen unter Spitzenlast, denn eine leere Staging-Datenbank kann Latenzen des Produktivbetriebs verbergen.
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.