{"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":"aumentando-o-desempenho-fivem-otimizar-scripts","status":"publish","type":"post","link":"https:\/\/fivemx.com\/pt\/aumentando-o-desempenho-fivem-otimizar-scripts\/","title":{"rendered":"Melhorando o desempenho: FiveM Optimize Scripts"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Se voc\u00ea \u00e9 propriet\u00e1rio ou desenvolvedor de um servidor FiveM, sabe a import\u00e2ncia de otimizar seus scripts de servidor para garantir uma jogabilidade fluida e eficiente. Neste guia, mostraremos o processo de otimiza\u00e7\u00e3o dos seus scripts FiveM para aumentar o desempenho e proporcionar uma experi\u00eancia melhor aos seus jogadores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NOVO: Use nosso Script Optimizer aqui<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Etapa 1: Identifique os gargalos de desempenho<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de come\u00e7ar a otimizar, \u00e9 crucial identificar os scripts ou recursos que est\u00e3o causando problemas de desempenho. Use as ferramentas integradas do FiveM, como o profiler, para monitorar o uso de recursos.<\/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>Imprensa <code>F8<\/code> para abrir o console.<\/li>\n\n\n\n<li>Tipo <code>resposta 1<\/code> para exibir o Monitor de Recursos.<\/li>\n\n\n\n<li>Observe quais scripts consomem mais CPU ou mem\u00f3ria.<\/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\/pt\/como-usar-resmon-em-fivem-otimizar-recursos\/\">Como usar o Resmon corretamente<\/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\">Etapa 2: otimizar scripts do lado do servidor<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Scripts do lado do servidor podem impactar significativamente o desempenho. Aqui est\u00e3o algumas dicas para otimiz\u00e1-los:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Reduzir a intensidade de recursos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Limite o n\u00famero de vezes que opera\u00e7\u00f5es intensivas s\u00e3o realizadas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Antes:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>AddEventHandler(&#039;playerSpawned&#039;, fun\u00e7\u00e3o()<br> -- Opera\u00e7\u00e3o intensa<br> CarregarAtivosPesados()<br>fim)<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Depois:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>ativos locais carregados = falso<br>AddEventHandler(&#039;playerSpawned&#039;, fun\u00e7\u00e3o()<br> se n\u00e3o ativosCarregados ent\u00e3o<br> CarregarAtivosPesados()<br> ativosCarregados = verdadeiro<br> fim<br>fim)<br><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Otimizar consultas de banco de dados<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use consultas ass\u00edncronas para evitar o bloqueio do thread principal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Usando MySQL.Async para chamadas de banco de dados n\u00e3o bloqueantes:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>MySQL.Async.fetchAll(&#039;SELECT * FROM usu\u00e1rios&#039;, {}, fun\u00e7\u00e3o(resultado)<br> -- Lidar com resultados<br>fim)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NOVO: Use nosso Script Optimizer aqui<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Etapa 3: otimizar scripts do lado do cliente<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A otimiza\u00e7\u00e3o do lado do cliente \u00e9 igualmente importante para garantir uma jogabilidade suave.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tratamento eficiente de eventos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use manipuladores de eventos de forma eficiente para evitar processamento desnecess\u00e1rio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Antes:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>Cidad\u00e3o.CreateThread(fun\u00e7\u00e3o()<br> enquanto verdadeiro fa\u00e7a<br> -- Verifica\u00e7\u00f5es intensivas<br> ExecutarVerifica\u00e7\u00f5es()<br> Cidad\u00e3o.Espere(0)<br> fim<br>fim)<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Depois:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>AddEventHandler(&#039;onResourceStart&#039;, fun\u00e7\u00e3o(nomedorecurso)<br> se GetCurrentResourceName() == resourceName ent\u00e3o<br> ExecutarVerifica\u00e7\u00f5es()<br> fim<br>fim)<br><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Reduzir o tempo de quadro<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Minimize as opera\u00e7\u00f5es realizadas em cada quadro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Antes:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>fun\u00e7\u00e3o DrawTextOnScreen()<br> DefinirTextoFonte(0)<br> DefinirTextoProporcional(1)<br> DefinirEscalaDeTexto(0,0, 0,55)<br> DefinirCorTexto(255, 255, 255, 255)<br> DefinirEntradaDeTexto(&quot;STRING&quot;)<br> AddTextComponentString(&quot;Texto otimizado&quot;)<br> DesenharTexto(0,5, 0,5)<br>fim<br><br>Cidad\u00e3o.CreateThread(fun\u00e7\u00e3o()<br> enquanto verdadeiro fa\u00e7a<br> DesenharTextoNaTela()<br> Cidad\u00e3o.Espere(0)<br> fim<br>fim)<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Depois:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>Cidad\u00e3o.CreateThread(fun\u00e7\u00e3o()<br> enquanto verdadeiro fa\u00e7a<br> se ShouldDrawText ent\u00e3o<br> DesenharTextoNaTela()<br> fim<br> Citizen.Wait(100) -- Reduz a frequ\u00eancia de verifica\u00e7\u00f5es<br> fim<br>fim)<br><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Etapa 4: Utilize ferramentas de otimiza\u00e7\u00e3o de desempenho<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Existem v\u00e1rias ferramentas e recursos dispon\u00edveis para ajudar voc\u00ea a otimizar seu <a href=\"https:\/\/fivemx.com\/pt\/gratis\/script-de-mercado-negro-gratis\/\" id=\"657\">Roteiros FiveM<\/a>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>TxAdmin<\/strong>: Uma ferramenta poderosa para gerenciar e otimizar seu servidor FiveM.<\/li>\n\n\n\n<li><strong>Artefatos FiveM<\/strong>: Mantenha seu servidor atualizado com <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\">os \u00faltimos artefatos FiveM<\/a> para se beneficiar de melhorias de desempenho.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Dicas adicionais<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aqui est\u00e3o algumas pr\u00e1ticas recomendadas e dicas adicionais derivadas da comunidade:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Removendo Native para C\u00e1lculo de Dist\u00e2ncia de Coordenadas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nativos s\u00e3o lentos. Para verifica\u00e7\u00f5es de dist\u00e2ncia, use opera\u00e7\u00f5es de vetor em vez de nativos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Antes:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>dist\u00e2ncia local = 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>Depois:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>dist\u00e2ncia local = #(coordenadas - v.coordenadas)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Dividindo Loops<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Refatore os loops para minimizar seu impacto no desempenho. Em vez de executar todas as verifica\u00e7\u00f5es a cada tick, divida-as se poss\u00edvel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Usar Eventos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use eventos para manipular a\u00e7\u00f5es em vez de verificar condi\u00e7\u00f5es continuamente. Por exemplo, use <code>eventos base<\/code> para lidar com a entrada e sa\u00edda de ve\u00edculos em vez de verificar a cada poucos milissegundos. (Como melhorar o 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\">Otimizando seu <a href=\"https:\/\/fivemx.com\/pt\/como-usar-resmon-em-fivem-otimizar-recursos\/\" id=\"1012\">Roteiros FiveM<\/a> \u00e9 a chave para manter uma experi\u00eancia tranquila e agrad\u00e1vel para seus jogadores. Seguindo essas etapas e monitorando continuamente o desempenho do seu servidor, voc\u00ea pode garantir que seu <a href=\"https:\/\/fivemx.com\/pt\/como-criar-um-servidor-fivem\/\" id=\"77\">Servidor FiveM<\/a> funciona da melhor forma poss\u00edvel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para mais dicas e recursos, visite HiFiveM.com \u2013 seu destino \u00fanico para mods, scripts, downloads e recursos do FiveM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>N\u00e3o ajudou? <a href=\"https:\/\/fivemx.com\/pt\/comparacao-de-provedores-de-hospedagem-fivem\/\">Certifique-se de executar seu servidor em um bom FiveM Server Hoster<\/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\/pt\/desempenho\/\">Tutoriais: Otimize o desempenho do servidor<\/a><\/div>\n<\/div>\n\n\n<!-- fivemx-quality-enrichment-v2 -->\n<h2>Lista de verifica\u00e7\u00e3o pr\u00e1tica<\/h2><p>Use este guia como uma lista de verifica\u00e7\u00e3o antes de alterar um servidor FiveM em produ\u00e7\u00e3o. Confirme a vers\u00e3o atual do artefato do servidor, a vers\u00e3o do framework, as depend\u00eancias de recursos, as altera\u00e7\u00f5es no banco de dados e quaisquer arquivos do lado do cliente antes de aplicar a altera\u00e7\u00e3o.<\/p><ul><li>Fa\u00e7a backup dos arquivos de configura\u00e7\u00e3o e tabelas do banco de dados afetados.<\/li><li>Aplique a altera\u00e7\u00e3o primeiro em um servidor de teste.<\/li><li>Observe o console do servidor e o console F8 do cliente em busca de erros.<\/li><li>Verifique se a altera\u00e7\u00e3o afeta empregos, invent\u00e1rio, ve\u00edculos, mapas, voz, permiss\u00f5es ou dados do jogador.<\/li><li>Documente o arquivo, comando ou configura\u00e7\u00e3o exata que voc\u00ea alterou para que possa ser revertida rapidamente.<\/li><\/ul><h2>Testes antes da produ\u00e7\u00e3o<\/h2><p>Ap\u00f3s o primeiro teste, entre com uma conta de jogador normal e repita o fluxo da perspectiva do jogador. Se o t\u00f3pico envolver desempenho, me\u00e7a o antes e o depois com a mesma quantidade de jogadores, rota e conjunto de recursos. Se envolver ferramentas ou permiss\u00f5es de administrador, verifique os usu\u00e1rios permitidos e os bloqueados.<\/p><h2>Erros comuns<\/h2><p>A maioria dos problemas do FiveM decorre de depend\u00eancias ausentes, cache desatualizado, nomes de pastas incorretos, incompatibilidade de frameworks ou configura\u00e7\u00f5es copiadas de outro servidor. Evite alterar v\u00e1rios sistemas ao mesmo tempo; fa\u00e7a uma altera\u00e7\u00e3o por vez, teste-a e s\u00f3 ent\u00e3o continue.<\/p><h2>Recursos relacionados<\/h2><p>Para ativos prontos para produ\u00e7\u00e3o, compare os recursos pagos no <a href=\"https:\/\/fivemx.com\/pt\/loja\/\">Loja FiveMX<\/a>. Para recursos gratuitos, navegue. <a href=\"https:\/\/fivemx.com\/pt\/scripts-fivem-gratis\/\">Scripts gratuitos para FiveM<\/a> e testar cada recurso antes de utiliz\u00e1-lo publicamente.<\/p>\n\n<!-- fivemx-quality-depth-v3 -->\n<h2>Notas sobre o lan\u00e7amento da produ\u00e7\u00e3o<\/h2><p>Antes de usar estas orienta\u00e7\u00f5es em um servidor FiveM em produ\u00e7\u00e3o, defina o resultado exato que voc\u00ea espera da altera\u00e7\u00e3o. Para o guia &quot;Aprimorando o desempenho: FiveM Otimizar scripts&quot;, isso significa verificar qual recurso, configura\u00e7\u00e3o, comando ou fluxo de trabalho ser\u00e1 afetado e confirmar se a altera\u00e7\u00e3o \u00e9 compat\u00edvel com sua estrutura atual, vers\u00e3o do artefato e regras do servidor. Mantenha a implementa\u00e7\u00e3o em pequena escala para que voc\u00ea possa revert\u00ea-la rapidamente caso os jogadores relatem erros.<\/p><p>Utilize um servidor de testes com a mesma estrutura, esquema de banco de dados, ordem de recursos e principais depend\u00eancias do servidor de produ\u00e7\u00e3o. Se o t\u00f3pico alterar a jogabilidade, permiss\u00f5es, visuais, voz, ve\u00edculos, mapas, invent\u00e1rio ou comportamento da economia, teste com pelo menos uma conta de administrador e uma conta de jogador normal. Observe a sa\u00edda do console do servidor, os logs do cliente (F8) e o tempo de uso dos recursos enquanto repete o fluxo exato de jogadores que ocorrer\u00e1 no servidor de produ\u00e7\u00e3o.<\/p><h2>Lista de verifica\u00e7\u00e3o de revers\u00e3o<\/h2><ul><li>Salve o arquivo de configura\u00e7\u00e3o anterior, a pasta de recursos e o estado do banco de dados antes de fazer qualquer altera\u00e7\u00e3o.<\/li><li>Registre a vers\u00e3o do recurso, o commit, a p\u00e1gina de download ou o valor da configura\u00e7\u00e3o que voc\u00ea testou.<\/li><li>Reinicie primeiro apenas o recurso afetado, se poss\u00edvel, e s\u00f3 reinicie o servidor completo se as depend\u00eancias assim o exigirem.<\/li><li>Caso ocorram erros, reverta a altera\u00e7\u00e3o feita no recurso ou na configura\u00e7\u00e3o antes de testar outra corre\u00e7\u00e3o.<\/li><\/ul><h2>Guia de manuten\u00e7\u00e3o<\/h2><p>Revise esta configura\u00e7\u00e3o novamente ap\u00f3s atualiza\u00e7\u00f5es de artefatos do FiveM, atualiza\u00e7\u00f5es do framework ou altera\u00e7\u00f5es importantes nos recursos. Uma configura\u00e7\u00e3o que funciona hoje pode parar de funcionar ap\u00f3s atualiza\u00e7\u00f5es de depend\u00eancias, renomea\u00e7\u00e3o de exporta\u00e7\u00f5es, altera\u00e7\u00e3o de eventos ou migra\u00e7\u00f5es de banco de dados. Mantenha anota\u00e7\u00f5es junto com a documenta\u00e7\u00e3o do seu servidor para que os futuros administradores entendam o que foi alterado, por que foi alterado e como verificar novamente.<\/p>\n\n<!-- fivemx-quality-depth-v4 -->\n<h2>Revis\u00e3o em andamento<\/h2><p>Verifique novamente o aumento de desempenho: os scripts de otimiza\u00e7\u00e3o do FiveM devem ser verificados ap\u00f3s atualiza\u00e7\u00f5es importantes de artefatos do FiveM, altera\u00e7\u00f5es na estrutura ou migra\u00e7\u00f5es de recursos. Confirme se as recomenda\u00e7\u00f5es ainda correspondem ao comportamento atual do servidor, se qualquer fonte vinculada permanece dispon\u00edvel e se as etapas de instala\u00e7\u00e3o ainda correspondem aos arquivos que um propriet\u00e1rio de servidor realmente baixar\u00e1 ou configurar\u00e1.<\/p><p>Para servidores p\u00fablicos, mantenha um breve registro de altera\u00e7\u00f5es junto \u00e0 documenta\u00e7\u00e3o do servidor. Anote o que foi testado, o que foi alterado, quais contas foram usadas para verifica\u00e7\u00e3o e como reverter as altera\u00e7\u00f5es. Isso agiliza a manuten\u00e7\u00e3o futura e evita que anota\u00e7\u00f5es antigas de configura\u00e7\u00e3o se tornem confusas ou inseguras para os jogadores.<\/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\/pt\/wp-json\/wp\/v2\/posts\/149836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/comments?post=149836"}],"version-history":[{"count":4,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/posts\/149836\/revisions"}],"predecessor-version":[{"id":214691,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/posts\/149836\/revisions\/214691"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/media\/185726"}],"wp:attachment":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/media?parent=149836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/categories?post=149836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/tags?post=149836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}