Portal SAMP
[Ajuda] O que é mais custozo? - 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] O que é mais custozo? (/showthread.php?tid=2489)



O que é mais custozo? - hiwyn - 18/06/2022

O que é mais custozo pro servidor?

- Um timer com uma função de um segundo onde processa todas as funções de 1 segundo
- Varios timers de um segundo onde cada um processa uma função

Como eu deveria fazer e por que?


RE: O que é mais custozo? - CoelhaO_LokaO - 18/06/2022

Só pensa um pouco as vezes ate desenhar, lógico que 1 timer para varias funções

[Imagem: WMgE7Ey.png]

[Imagem: 7lizmwF.png]


RE: O que é mais custozo? - xbruno1000x - 18/06/2022

Esses tempos atrás eu havia visto um teste de benchmark sobre timer's feito pelo Southclaws, um dos grandes contribuidores da comunidade SA-MP.
A conclusão foi que os timers em si são irrisórios, o que afeta o servidor mesmo é a callback chamada pelo timer. No teste foi constatado que você pode chamar de 20k a 30k de timer's sem ter um prejuízo relevante no desempenho. Então acredito, como o CoelhaO_LokaO disse acima, que vários timers seja o ideal.


RE: O que é mais custozo? - zBL4CK - 18/06/2022

(18/06/2022 11:13)CoelhaO_LokaO Escreveu:
Só pensa um pouco as vezes ate desenhar, lógico que 1 timer para varias funções

[Imagem: WMgE7Ey.png]

[Imagem: 7lizmwF.png]
Exemplo melhor que esse não tem kkkkkk


RE: O que é mais custozo? - hiwyn - 19/06/2022

É intuitivo pensar que só um bloco de código vai ser mais pesado, porque de uma vez só o sv vai tomar um porradão, mas vários processos em parelelo rodando o tempo todo poderia ser custozo, achei que alguém ia saber explicar técnicamente o porque.
Pelo menos a resposta do Bruno me deixa mais tranquilo. Vlw


RE: O que é mais custozo? - hiwyn - 28/06/2022

até porque existem alguns cenarios como:
1 função que roda por todos os players
se ela tiver em uma função sendo chamada de 1 em 1 segundo, vai ser um loop a cada segundo chamando todas as funções de players
se ela tiver divida em vários timers seriam varios loops de 1000 players


RE: O que é mais custozo? - White_Blue - 28/06/2022

(28/06/2022 09:34)hiwyn Escreveu: até porque existem alguns cenarios como:
1 função que roda por todos os players
se ela tiver em uma função sendo chamada de 1 em 1 segundo, vai ser um loop a cada segundo chamando todas as funções de players
se ela tiver divida em vários timers seriam varios loops de 1000 players

Sim, mas pra isso você pode usar foreach que roda o loop somente em quantos slots tem seu servidor, Por exemplo se seu servidor tem 30 slots o loop irá rodar no valor de 30.