Portal SAMP
[Ajuda] Criar variável em Looping causa lag? - 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] Criar variável em Looping causa lag? (/showthread.php?tid=2577)



Criar variável em Looping causa lag? - Dionzito - 16/07/2022

Recentemente eu vi aqui no fórum o ipsLuan falar que não é recomendável criar variável dentro de Looping. Mas fazer isso causa lentidão no servidor?


RE: [Duvida] Criar variável em Looping causa lag? - White_Blue - 16/07/2022

O loop é um laço de repetição como o nome já diz, então tudo que está no escopo do loop é rodado na quantidade de vezes definida no loop.


RE: [Duvida] Criar variável em Looping causa lag? - Dionzito - 16/07/2022

(16/07/2022 16:37)White_Blue Escreveu: O loop é um laço de repetição como o nome já diz, então tudo que está no escopo do loop é rodado na quantidade de vezes definida no loop.

Eu sei como loopings funcionam, mas eu quero saber se quando eu crio uma variável dentro de um looping ex: for(new i; i < 1000; i++)
{
new string[256];
....etc
}

Essa variável vai ser repetida a criação dela 1000 vezes, isso pode causar lentidão no servidor quando feito em vários sistemas?


RE: [Duvida] Criar variável em Looping causa lag? - White_Blue - 16/07/2022

(16/07/2022 17:36)Dionzito Escreveu:
(16/07/2022 16:37)White_Blue Escreveu: O loop é um laço de repetição como o nome já diz, então tudo que está no escopo do loop é rodado na quantidade de vezes definida no loop.

Eu sei como loopings funcionam, mas eu quero saber se quando eu crio uma variável dentro de um looping ex: for(new i; i < 1000; i++)
{
new string[256];
....etc
}

Essa variável vai ser repetida a criação dela 1000 vezes, isso pode causar lentidão no servidor quando feito em vários sistemas?
Pois então a verdade é que não vai fazer diferença pois você não vai usar esta variável em outros sistemas, somente dentro do escopo, então não, ela não vai ser declarada 1000x.


RE: [Duvida] Criar variável em Looping causa lag? - Device-Black - 17/07/2022

(16/07/2022 18:17)White_Blue Escreveu:
(16/07/2022 17:36)Dionzito Escreveu:
(16/07/2022 16:37)White_Blue Escreveu: O loop é um laço de repetição como o nome já diz, então tudo que está no escopo do loop é rodado na quantidade de vezes definida no loop.

Eu sei como loopings funcionam, mas eu quero saber se quando eu crio uma variável dentro de um looping ex: for(new i; i < 1000; i++)
{
new string[256];
....etc
}

Essa variável vai ser repetida a criação dela 1000 vezes, isso pode causar lentidão no servidor quando feito em vários sistemas?
Pois então a verdade é que não vai fazer diferença pois você não vai usar esta variável em outros sistemas, somente dentro do escopo, então não, ela não vai ser declarada 1000x.

A variavel é um comando que reinvindica um espaço na memória ram
Declarar ela varias vezes pode sim afetar o desempenho causando falha de sincronia entre outros problemas, principalmente se o mesmo problema for repetido varias vezes no mesmo e em outros sistemasde fora do script, consumindo memoria desnecessáriamente
Se fosse outro mod e outra linguagem eu até concordaria, mas falamos de samp e pawn, então sim, pode afetar o desempenho do servidor mas depende de quantas vezes é recriado e quais as condições do servidor


RE: [Duvida] Criar variável em Looping causa lag? - xbruno1000x - 17/07/2022

(16/07/2022 17:36)Dionzito Escreveu: Essa variável vai ser repetida a criação dela 1000 vezes, isso pode causar lentidão no servidor quando feito em vários sistemas?

Qualquer coisa feita de forma não-otimizada irá causar problemas pro seu servidor.


RE: Criar variável em Looping causa lag? - CoelhaO_LokaO - 18/07/2022

Minha gm ta tudo em loop não tem nenhum leg, depende  do que e feito calsa leg sim participante se usa o loop  para verificar os player e para cada player um loop na função, isso em verificação de timer.

EXEMPLO

LOOP 1 - SERIA A FUNÇÃO [ELA NÂO TEM FIM E INFINITAMENTE]
LOOP 2 - SERIA O FOREACH [VERIFICAR TODOS OS PLAYERS CONECTADOS] 
LOOP 3 - SERIA A ENTRADA DA FUNÇÃO PARA CADA PLAYER CONECTADO

AGORA IMAGINA ISSO TODO SEGUNDO OU ATE MENOS VAI DAR LEG TODA HORA IMAGINA SE POR MAS UM LOOP.

[Imagem: aWX361I.png]