Portal SAMP
[Ajuda] Duvida para problema - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Duvida para problema (/showthread.php?tid=1270)



Duvida para problema - LeleziiN - 08/06/2021

Bom galera mais uma vez desculpa pelo titulo do tópico mais, queria saber o que ocasionar de pesar a memoria do GM ou de deixa-lo com Lag?


RE: Duvida para problema - xbruno1000x - 08/06/2021

No caso você se refere ao uso de memória da Host para rodar seu GM né?

Se for esse o caso, memória ram é utilizada para processamento de informações por uma máquina, e se seu GM está usando muito, significa que você pode ter muitos loopings, timer's permanentes(que rodam sem parar), uso demasiado da OnPlayerUpdate, entre outras razões.


RE: Duvida para problema - LeleziiN - 09/06/2021

(08/06/2021 18:01)xbruno1000x Escreveu: No caso você se refere ao uso de memória da Host para rodar seu GM né?

Se for esse o caso, memória ram é utilizada para processamento de informações por uma máquina, e se seu GM está usando muito, significa que você pode ter muitos loopings, timer's permanentes(que rodam sem parar), uso demasiado da OnPlayerUpdate, entre outras razões.

No caso não é para a Host e sim para rodar mais livre no meu PC, pois ainda está na fase de testes e não abrir ao públicos ainda.

E queria só saber para aprender a otimizar-lo para que o meu GM fique mais leve e sem lag


RE: Duvida para problema - xbruno1000x - 09/06/2021

(09/06/2021 15:09)LeleziiN Escreveu:
(08/06/2021 18:01)xbruno1000x Escreveu: No caso você se refere ao uso de memória da Host para rodar seu GM né?

Se for esse o caso, memória ram é utilizada para processamento de informações por uma máquina, e se seu GM está usando muito, significa que você pode ter muitos loopings, timer's permanentes(que rodam sem parar), uso demasiado da OnPlayerUpdate, entre outras razões.

No caso não é para a Host e sim para rodar mais livre no meu PC, pois ainda está na fase de testes e não abrir ao públicos ainda.

E queria só saber para aprender a otimizar-lo para que o meu GM fique mais leve e sem lag

Host que me refiro é a maquina que está rodando o servidor, independente de não ser de uma empresa. As instruções que dei continuam sendo válidas.
Acrescentando ao que já foi dito, o Wilton disse em um outro tópico algo que vale ressaltar:
- a lógica é aplicável em todos os tipos de gamemode.

Isso significa que existem diversas formas de criar um sistema, mas que nem todas são inteligentes. Crie seus sistemas utilizando a lógica para gastar o menor número de processamento e ele estará otimizado.


RE: Duvida para problema - LeleziiN - 09/06/2021

(09/06/2021 15:53)xbruno1000x Escreveu:
(09/06/2021 15:09)LeleziiN Escreveu:
(08/06/2021 18:01)xbruno1000x Escreveu: No caso você se refere ao uso de memória da Host para rodar seu GM né?

Se for esse o caso, memória ram é utilizada para processamento de informações por uma máquina, e se seu GM está usando muito, significa que você pode ter muitos loopings, timer's permanentes(que rodam sem parar), uso demasiado da OnPlayerUpdate, entre outras razões.

No caso não é para a Host e sim para rodar mais livre no meu PC, pois ainda está na fase de testes e não abrir ao públicos ainda.

E queria só saber para aprender a otimizar-lo para que o meu GM fique mais leve e sem lag

Host que me refiro é a maquina que está rodando o servidor, independente de não ser de uma empresa. As instruções que dei continuam sendo válidas.
Acrescentando ao que já foi dito, o Wilton disse em um outro tópico algo que vale ressaltar:
- a lógica é aplicável em todos os tipos de gamemode.

Isso significa que existem diversas formas de criar um sistema, mas que nem todas são inteligentes. Crie seus sistemas utilizando a lógica para gastar o menor número de processamento e ele estará otimizado.

Ok, e outra coisa o tamanho do GameMode tbm afeta o desempenho?

Pq o meu contem 103582 de linhas e queria saber se isso tbm afeta ou não tem nada a ver se a maior causa mesmo é do loopings e settimer


RE: Duvida para problema - willttoonn - 09/06/2021

Desempenho de um gamemode é medido não por linha ou por tamanho compilado e sim pela sua utilização. Meu gamemode passa fácil de 350.000 linhas juntando todas os arquivos e acredito que seja um dos mais pesados sendo executados no SA-MP, inclusive só roda em um desempenho aceitável se tiver em overclock.

Pontos importantes para um gamemode enxuto, os quais eu aplico no meu:
- Elimine totalmente o OnPlayerUpdate e substitua as suas funções por Timers de 500ms até 1,5s.
- Utilize a include foreach para otimizar loops envolvendo jogadores, a include trabalha com um dinamismo que apenas checa jogadores legitimamente conectados, se houver 50 jogadores, ela só vai verificar os 50 jogadores e não os 150 que são o limite de slot, inclusive é superior a função nativa de PoolSize.
- Carregamento de dados brutos (fixos do servidor e estáticos) devem ocorrer apenas quando o servidor iniciar, os dados de players devem carregar e descarregar com o Connect e Disconnect do player, respectivamente.
- Utilize um gerenciador de comandos, eu recomendo o ZCMD ou Pawn.CMD (o qual utilizo atualmente).
- Se você pretende hospedar o servidor por conta própria, utilize o sistema linux (centOS ou Ubuntu) para conseguir 100% de desempenho destinado ao SA-MP. Ainda na parte de hospedagem, se ele for usar MySQL, pegue uma hospedagem com no mínimo 4gb e 3 núcleos, o SA-MP é singlecore e portanto um dos 3 núcleos vai ser dele apenas e os outros dois para o MySQL que poderá ter picos de processamento, não afetando o núcleo que o SA-MP está.