{"id":149836,"date":"2024-08-14T13:09:51","date_gmt":"2024-08-14T11:09:51","guid":{"rendered":"https:\/\/hifivem.com\/?p=149836"},"modified":"2026-07-27T03:24:36","modified_gmt":"2026-07-27T01:24:36","slug":"ameliorer-les-performances-des-scripts-doptimisation-fivem","status":"publish","type":"post","link":"https:\/\/fivemx.com\/fr\/ameliorer-les-performances-des-scripts-doptimisation-fivem\/","title":{"rendered":"Am\u00e9lioration des performances : scripts d&#039;optimisation FiveM"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Si vous \u00eates propri\u00e9taire ou d\u00e9veloppeur d&#039;un serveur FiveM, vous savez combien il est important d&#039;optimiser vos scripts pour garantir une exp\u00e9rience de jeu fluide et efficace. Dans ce guide, nous vous expliquerons comment optimiser vos scripts FiveM pour am\u00e9liorer les performances et offrir une meilleure exp\u00e9rience \u00e0 vos joueurs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NOUVEAU : utilisez notre optimiseur de script ici<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9tape 1 : Identifier les goulots d\u2019\u00e9tranglement des performances<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avant de commencer l&#039;optimisation, il est essentiel d&#039;identifier les scripts ou les ressources \u00e0 l&#039;origine des probl\u00e8mes de performances. Utilisez les outils int\u00e9gr\u00e9s de FiveM, comme le profileur, pour surveiller l&#039;utilisation des ressources.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"603\" height=\"410\" src=\"https:\/\/fivemx.com\/wp-content\/uploads\/2024\/08\/fivem-resmon.jpg\" alt=\"Console FiveM Resmon\" class=\"wp-image-161894\" srcset=\"https:\/\/cdn.fivemx.com\/wp-content\/uploads\/2024\/08\/fivem-resmon.jpg 603w, https:\/\/cdn.fivemx.com\/wp-content\/uploads\/2024\/08\/fivem-resmon-150x102.jpg 150w, https:\/\/cdn.fivemx.com\/wp-content\/uploads\/2024\/08\/fivem-resmon-300x204.jpg 300w, https:\/\/cdn.fivemx.com\/wp-content\/uploads\/2024\/08\/fivem-resmon-18x12.jpg 18w, https:\/\/cdn.fivemx.com\/wp-content\/uploads\/2024\/08\/fivem-resmon-110x75.jpg 110w, https:\/\/cdn.fivemx.com\/wp-content\/uploads\/2024\/08\/fivem-resmon-60x41.jpg 60w\" sizes=\"(max-width: 603px) 100vw, 603px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Presse <code>F8<\/code> pour ouvrir la console.<\/li>\n\n\n\n<li>Taper <code>r\u00e9smon 1<\/code> pour afficher le moniteur de ressources.<\/li>\n\n\n\n<li>Observez quels scripts consomment le plus de CPU ou de m\u00e9moire.<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/fivemx.com\/fr\/comment-utiliser-resmon-dans-fivem-optimiser-les-ressources\/\">Comment utiliser Resmon correctement<\/a><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9tape 2\u00a0: Optimiser les scripts c\u00f4t\u00e9 serveur<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les scripts c\u00f4t\u00e9 serveur peuvent avoir un impact significatif sur les performances. Voici quelques conseils pour les optimiser\u00a0:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9duire l\u2019intensit\u00e9 des ressources<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Limitez le nombre de fois o\u00f9 des op\u00e9rations intensives sont effectu\u00e9es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Avant:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>AddEventHandler(&#039;playerSpawned&#039;, fonction()<br> -- Fonctionnement intense<br> Charger des actifs lourds ()<br>fin)<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Apr\u00e8s:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>actifs locaux charg\u00e9s = faux<br>AddEventHandler(&#039;playerSpawned&#039;, fonction()<br> si les actifs ne sont pas charg\u00e9s alors<br> Charger des actifs lourds ()<br> actifs charg\u00e9s = vrai<br> fin<br>fin)<br><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Optimiser les requ\u00eates de base de donn\u00e9es<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Utilisez des requ\u00eates asynchrones pour \u00e9viter de bloquer le thread principal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Utilisation de MySQL.Async pour les appels de base de donn\u00e9es non bloquants\u00a0:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>MySQL.Async.fetchAll(&#039;SELECT * FROM utilisateurs&#039;, {}, fonction(r\u00e9sultat)<br> -- G\u00e9rer les r\u00e9sultats<br>fin)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NOUVEAU : utilisez notre optimiseur de script ici<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9tape 3\u00a0: Optimiser les scripts c\u00f4t\u00e9 client<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019optimisation c\u00f4t\u00e9 client est tout aussi importante pour garantir un gameplay fluide.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Gestion efficace des \u00e9v\u00e9nements<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Utilisez efficacement les gestionnaires d\u2019\u00e9v\u00e9nements pour \u00e9viter tout traitement inutile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Avant:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>Citoyen.CreateThread(fonction()<br> bien que ce soit vrai<br> -- Contr\u00f4les intensifs<br> V\u00e9rifications d&#039;ex\u00e9cution()<br> Citoyen.Attendez(0)<br> fin<br>fin)<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Apr\u00e8s:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>AddEventHandler(&#039;onResourceStart&#039;, fonction(nom de la ressource)<br> si GetCurrentResourceName() == resourceName alors<br> V\u00e9rifications d&#039;ex\u00e9cution()<br> fin<br>fin)<br><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9duire le temps d&#039;image<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Minimisez les op\u00e9rations effectu\u00e9es \u00e0 chaque image.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Avant:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>fonction DrawTextOnScreen()<br> D\u00e9finirTextFont(0)<br> SetTextProportional(1)<br> D\u00e9finir l&#039;\u00e9chelle de texte (0,0, 0,55)<br> SetTextColour(255, 255, 255, 255)<br> SetTextEntry(&quot;CHA\u00ceNE&quot;)<br> AddTextComponentString(&quot;Texte optimis\u00e9&quot;)<br> DrawText(0.5, 0.5)<br>fin<br><br>Citoyen.CreateThread(fonction()<br> bien que ce soit vrai<br> DessinerTexteSurEcran()<br> Citoyen.Attendez(0)<br> fin<br>fin)<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Apr\u00e8s:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>Citoyen.CreateThread(fonction()<br> bien que ce soit vrai<br> si ShouldDrawText alors<br> DessinerTexteSurEcran()<br> fin<br> Citizen.Wait(100) \u2013 R\u00e9duire la fr\u00e9quence des contr\u00f4les<br> fin<br>fin)<br><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9tape 4\u00a0: utiliser les outils d\u2019optimisation des performances<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il existe plusieurs outils et ressources disponibles pour vous aider \u00e0 optimiser votre <a href=\"https:\/\/fivemx.com\/fr\/gratuit\/script-gratuit-du-marche-noir\/\" id=\"657\">Sc\u00e9narios FiveM<\/a>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>TxAdmin<\/strong>:Un outil puissant pour g\u00e9rer et optimiser votre serveur FiveM.<\/li>\n\n\n\n<li><strong>Artefacts FiveM<\/strong>: Gardez votre serveur \u00e0 jour avec <a href=\"https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_server_windows\/master\/\" data-type=\"link\" data-id=\"https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_server_windows\/master\/\" target=\"_blank\" rel=\"noopener\">les derniers artefacts de FiveM<\/a> pour b\u00e9n\u00e9ficier des am\u00e9liorations de performances.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conseils suppl\u00e9mentaires<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Voici quelques bonnes pratiques et conseils suppl\u00e9mentaires issus de la communaut\u00e9\u00a0:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Suppression de la valeur native pour le calcul de la distance des coordonn\u00e9es<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Les natifs sont lents. Pour les v\u00e9rifications de distance, utilisez des op\u00e9rations vectorielles au lieu des natifs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Avant:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>distance locale = GetDistanceBetweenCoords(coords.x, coords.y, coords.z, v.coords.x, v.coords.y, v.coords.z, true)<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Apr\u00e8s:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>distance locale = #(coordonn\u00e9es - coordonn\u00e9es verticales)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">S\u00e9paration des boucles<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Refactorisez les boucles pour minimiser leur impact sur les performances. Au lieu d&#039;ex\u00e9cuter toutes les v\u00e9rifications \u00e0 chaque tick, divisez-les si possible.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser les \u00e9v\u00e9nements<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Utilisez des \u00e9v\u00e9nements pour g\u00e9rer les actions au lieu de v\u00e9rifier les conditions en continu. Par exemple, utilisez <code>\u00e9v\u00e9nements de base<\/code> pour g\u00e9rer l&#039;entr\u00e9e et la sortie des v\u00e9hicules au lieu de v\u00e9rifier toutes les quelques millisecondes. (Comment am\u00e9liorer FiveM re\u2026)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"wp-block-paragraph\">Optimiser votre <a href=\"https:\/\/fivemx.com\/fr\/comment-utiliser-resmon-dans-fivem-optimiser-les-ressources\/\" id=\"1012\">Sc\u00e9narios FiveM<\/a> est essentiel pour garantir une exp\u00e9rience fluide et agr\u00e9able \u00e0 vos joueurs. En suivant ces \u00e9tapes et en surveillant en permanence les performances de votre serveur, vous pouvez garantir votre <a href=\"https:\/\/fivemx.com\/fr\/comment-creer-un-serveur-fivem\/\" id=\"77\">Serveur FiveM<\/a> fonctionne \u00e0 son meilleur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour plus de conseils et de ressources, visitez HiFiveM.com \u2013 votre destination unique pour les mods, scripts, t\u00e9l\u00e9chargements et ressources FiveM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Cela n&#039;a pas aid\u00e9 ? <a href=\"https:\/\/fivemx.com\/fr\/comparaison-des-hebergeurs-fivem-2\/\">Assurez-vous d&#039;ex\u00e9cuter votre serveur sur un bon h\u00e9bergeur de serveur FiveM<\/a><\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/fivemx.com\/fr\/performance\/\">Tutoriels\u00a0: Optimiser les performances du serveur<\/a><\/div>\n<\/div>\n\n\n<!-- fivemx-quality-enrichment-v2 -->\n<h2>Liste de contr\u00f4le pratique<\/h2><p>Utilisez ce guide comme liste de v\u00e9rification avant de modifier un serveur FiveM en production. Assurez-vous de la version actuelle des artefacts serveur, de la version du framework, des d\u00e9pendances des ressources, des modifications de la base de donn\u00e9es et des fichiers c\u00f4t\u00e9 client avant d&#039;appliquer la modification.<\/p><ul><li>Sauvegardez les fichiers de configuration et les tables de base de donn\u00e9es concern\u00e9s.<\/li><li>Appliquez d&#039;abord la modification sur un serveur de test.<\/li><li>Surveillez la console du serveur et la console F8 du client pour d\u00e9tecter les erreurs.<\/li><li>V\u00e9rifiez si la modification affecte les emplois, l&#039;inventaire, les v\u00e9hicules, les cartes, la voix, les autorisations ou les donn\u00e9es des joueurs.<\/li><li>Documentez pr\u00e9cis\u00e9ment le fichier, la commande ou le param\u00e8tre que vous avez modifi\u00e9 afin de pouvoir le r\u00e9tablir rapidement.<\/li><\/ul><h2>Tests avant production<\/h2><p>Apr\u00e8s le premier test, connectez-vous avec un compte joueur standard et r\u00e9p\u00e9tez le processus du point de vue du joueur. Si le sujet concerne les performances, effectuez des mesures avant et apr\u00e8s en conservant le m\u00eame nombre de joueurs, le m\u00eame parcours et les m\u00eames ressources. Si le sujet concerne les outils d&#039;administration ou les permissions, v\u00e9rifiez les utilisateurs autoris\u00e9s et ceux qui n&#039;y sont pas autoris\u00e9s.<\/p><h2>Erreurs courantes<\/h2><p>La plupart des probl\u00e8mes rencontr\u00e9s avec FiveM proviennent de d\u00e9pendances manquantes, d&#039;un cache obsol\u00e8te, de noms de dossiers incorrects, d&#039;incompatibilit\u00e9s de frameworks ou d&#039;une configuration copi\u00e9e depuis un autre serveur. \u00c9vitez de modifier plusieurs syst\u00e8mes simultan\u00e9ment\u00a0; effectuez une modification, testez-la, puis poursuivez.<\/p><h2>Ressources connexes<\/h2><p>Pour les ressources pr\u00eates \u00e0 la production, comparez les ressources payantes dans le <a href=\"https:\/\/fivemx.com\/fr\/boutique\/\">Boutique FiveMX<\/a>. Pour acc\u00e9der \u00e0 des ressources gratuites, consultez <a href=\"https:\/\/fivemx.com\/fr\/scripts-fivem-gratuits\/\">Scripts FiveM gratuits<\/a> et tester chaque ressource avant de l&#039;utiliser publiquement.<\/p>\n\n<!-- fivemx-quality-depth-v3 -->\n<h2>Notes de d\u00e9ploiement de la production<\/h2><p>Avant d&#039;appliquer ces instructions sur un serveur FiveM en production, d\u00e9finissez pr\u00e9cis\u00e9ment le r\u00e9sultat attendu. Pour l&#039;optimisation des scripts FiveM (Boosting Performance\u00a0: FiveM Optimize Scripts), cela signifie identifier la ressource, le param\u00e8tre, la commande ou le flux de travail concern\u00e9 et v\u00e9rifier que la modification est compatible avec votre infrastructure, votre version d&#039;artefacts et les r\u00e8gles de votre serveur. D\u00e9ployez les modifications progressivement afin de pouvoir les annuler rapidement en cas d&#039;erreurs signal\u00e9es par les joueurs.<\/p><p>Utilisez un serveur de test avec la m\u00eame infrastructure, le m\u00eame sch\u00e9ma de base de donn\u00e9es, le m\u00eame ordre de ressources et les m\u00eames d\u00e9pendances cl\u00e9s que le serveur de production. Si le sujet abord\u00e9 modifie le gameplay, les permissions, les graphismes, le doublage, les v\u00e9hicules, les cartes, l&#039;inventaire ou le comportement \u00e9conomique, effectuez des tests avec au moins un compte administrateur et un compte joueur. Surveillez la sortie de la console du serveur, les journaux F8 du client et le temps d&#039;acc\u00e8s aux ressources tout en reproduisant exactement le parcours de jeu qui se d\u00e9roulera sur le serveur de production.<\/p><h2>Liste de contr\u00f4le de restauration<\/h2><ul><li>Sauvegardez le fichier de configuration pr\u00e9c\u00e9dent, le dossier de ressources et l&#039;\u00e9tat de la base de donn\u00e9es avant toute modification.<\/li><li>Notez la version de la ressource, le commit, la page de t\u00e9l\u00e9chargement ou la valeur du param\u00e8tre que vous avez test\u00e9e.<\/li><li>Red\u00e9marrez d&#039;abord uniquement la ressource concern\u00e9e lorsque cela est possible, puis red\u00e9marrez le serveur complet si des d\u00e9pendances l&#039;exigent.<\/li><li>En cas d&#039;erreur, r\u00e9tablissez la ressource ou le param\u00e8tre modifi\u00e9 avant de tester une autre solution.<\/li><\/ul><h2>Conseils d&#039;entretien<\/h2><p>Rev\u00e9rifiez cette configuration apr\u00e8s chaque mise \u00e0 jour des artefacts FiveM, du framework ou modification importante des ressources. Une configuration fonctionnelle aujourd&#039;hui peut devenir inutilisable suite \u00e0 des mises \u00e0 jour de d\u00e9pendances, des modifications d&#039;exports, des changements d&#039;\u00e9v\u00e9nements ou des migrations de base de donn\u00e9es. Conservez des notes dans la documentation de votre serveur afin que les futurs administrateurs comprennent les modifications apport\u00e9es, leurs raisons et comment les reproduire.<\/p>\n\n<!-- fivemx-quality-depth-v4 -->\n<h2>Examen en cours<\/h2><p>Rev\u00e9rifiez les scripts d&#039;optimisation des performances de FiveM apr\u00e8s les mises \u00e0 jour majeures des artefacts, les modifications du framework ou les migrations de ressources. Assurez-vous que les recommandations correspondent toujours au comportement actuel du serveur, que les sources li\u00e9es restent disponibles et que les \u00e9tapes d&#039;installation correspondent toujours aux fichiers que le propri\u00e9taire du serveur t\u00e9l\u00e9chargera ou configurera.<\/p><p>Pour les serveurs publics, conservez un bref historique des modifications \u00e0 c\u00f4t\u00e9 de la documentation du serveur. Indiquez ce qui a \u00e9t\u00e9 test\u00e9, ce qui a chang\u00e9, les comptes utilis\u00e9s pour la v\u00e9rification et la proc\u00e9dure de retour en arri\u00e8re. Cela facilitera la maintenance future et \u00e9vitera que les anciennes notes de configuration ne deviennent obscures ou dangereuses pour les joueurs.<\/p>","protected":false},"excerpt":{"rendered":"<p>If you&#8217;re a FiveM server owner or developer, you know the importance of optimizing your server scripts to ensure smooth and efficient gameplay. In this guide, we&#8217;ll walk you through the process of optimizing your FiveM scripts to boost performance and provide a better experience for your players. NEW: Use our Script Optimizer here Step [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":185726,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1900,2881,1899],"tags":[3001],"class_list":["post-149836","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-troubleshooting","category-performance","category-tutorials","tag-fivem-script"],"_links":{"self":[{"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/posts\/149836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/comments?post=149836"}],"version-history":[{"count":4,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/posts\/149836\/revisions"}],"predecessor-version":[{"id":214691,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/posts\/149836\/revisions\/214691"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/media\/185726"}],"wp:attachment":[{"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/media?parent=149836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/categories?post=149836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/tags?post=149836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}