Détection du décalage de script (MS) avec la fonctionnalité Resmon sur les serveurs FiveM
La principale raison des blocages instantanés (bégaiement) et des baisses de FPS rencontrés par les joueurs sur les serveurs FiveM PVP n'est pas le matériel de la machine, mais les scripts mal optimisés (ressources) ajoutés au serveur. Proposé par le moteur de jeu FiveM Moniteur de ressources (Resmon) Grâce à son interface, vous pouvez voir instantanément quel script consomme le processeur (CPU). Dans ce guide, vous découvrirez l'optimisation MS.
Étape 1 : activation de l'interface Resmon
Pour voir les valeurs de consommation des scripts sur votre serveur pendant le jeu, suivez ces étapes :
- depuis votre clavier
F8Ouvrez la console FiveM en appuyant sur le bouton. - à la console
resmon 1Tapez et appuyez sur Entrée. Un panneau s'ouvrira dans le coin supérieur droit de l'écran où tous les scripts sont répertoriés. (Pour fermerresmon 0tu sais écrire).
Étape 2 : Lecture des valeurs (msec du processeur et mémoire)
Il y a deux colonnes critiques dans le panneau ouvert. Pour la santé de votre serveur, vous devez analyser ces colonnes comme suit :
- msec CPU (mil secondes) : Il s'agit du temps processeur qu'un script passe par cycle. Le montant qu'un script sain dépense en inactivité 0,01 ms à 0,05 ms Cela devrait être entre .
- Même si tu restes inactif dans la liste 0,50 ms, 1,0 ms ou plus Si vous voyez un script qui consomme de la valeur, ce script est mal codé. Généralement ouvert dans le code
Citizen.CreateThreadou travailler chaque fraction de secondeCitizen.Wait(0)les cycles provoquent cela. - Mémoire : C'est l'espace occupé par le script sur la RAM. S'il y a une consommation de mémoire (Memory Leak) qui augmente constamment avec le temps, ce script consommera de la RAM tant que le serveur restera ouvert et finira par planter le serveur.
Étape 3 : Solution exacte et optimisation
- En examinant les blocs de code des scripts qui consomment beaucoup de MS, ajoutez des contrôles de distance (boucles while) ou des temps d'attente de boucle (qui ne s'exécuteront que lorsque le joueur interagit (par exemple, s'approche d'un marqueur)).
Wait(1000)etc.) - Si vous ne pouvez pas optimiser, choisissez d'utiliser des versions mises à jour alternatives et optimisées de ce script pour alléger la charge sur votre système.
Cet article est spécialement préparé pour PvPServer.