[Ajuda] Uma dъvida sobre strings
#1

Bom, eu tenho uma dъvida sobre a criaзгo de strings, estou diminuindo meu GM ele tava com 8,5 milhхes de bytes e agora estб com 6,3 milhхes, e aos poucos eu vou diminuindo ele para parar o bendito lag, mas enfim, eu tenho uma grande dъvida sobre essas strings veja o exemplo, e quem souber se possнvel falar qual dos 2 exemplos й o melhor a ser usado.

pawn Код:
new strang[25];
format(strang, sizeof(strang), "%s", Nome[MAX_PLAYER_NAME]); // jб que nome sгo atй 34 caracteres
SendClientMessage(playeird, Vermelho, strang);

new strang2[28];
format(strang2, sizeof(strang2), "Vocк tem %d Reais", dinheiro);  // supondo que sу possa ter 1.000.000.000 reais como limite
SendClientMessage(playeird, Vermelho, strang2);

new strang2[50];
format(strang2, sizeof(strang2), "O nome do seu rнval й %s", namerival); // jб que nome sгo atй 24 caracteres
SendClientMessage(playeird, Vermelho, strang2);

/* Ou deixar dessa forma aqui */

new strang[128];
format(strang, sizeof(strang), "%s", Nome[MAX_PLAYER_NAME]); // jб que nome sгo atй 34 caracteres
SendClientMessage(playeird, Vermelho, strang);

format(strang, sizeof(strang), "Vocк tem %d Reais", dinheiro);  // supondo que sу possa ter 1.000.000.000 reais como limite
SendClientMessage(playeird, Vermelho, strang);

format(strang, sizeof(strang), "O nome do seu rнval й %s", namerival); // jб que nome sгo atй 24 caracteres
SendClientMessage(playeird, Vermelho, strang);
Agradeзo desde jб.

Atenciosamente,
Reply
#2

Ambos estгo corretos. O tamanho das strings nгo vai causar qualquer lag ou atraso, mas irб simplesmente aumentar o tamanho do AMX e uso da memoria RAM. O lag й causado por cуdigo de mб qualidade; um exemplo, cуdigo pesado em OnPlayerUpdate.
Reply
#3

Sem dъvidas o primeiro exemplo, porque quando estas formatando uma string de 128 caracteres por exemplo e usas apenas 24 deles, outros 104 caracteres ficam com o valor de null, ou seja seria a mesma coisa que fazer isto:

pawn Код:
for(new i = 25; i <= 128; i++)
{
    strang2[i] = 0;
}
Isto resulta em aumento e memуria....

Leia mais: https://sampforum.blast.hk/showthread.php?tid=55261
Reply
#4

Bom creio eu que da primeira forma vocк estaria economizando string observe:

pawn Код:
25+28+50 = 103
128-103 = 25
Sendo assim vocк estaria economizando cerca de 25 strings quais vocк poderia estar utilizando posteriormente....

Mas realmente a causa de lag estб relacionado a mб identaзгo e colocaзгo dos seus cуdigos ou a mб utilizaзгo da OnPlayerUpdate assim como SetTimer's...
Reply
#5

Eita, me falaram que essas strings altas davam bizil mas ok kkk.
Na OnPlayerUpdate sу tem se o cara tiver ping acima do mбximo ele й kick e se pegar jetpack/arma proнbido й ban nada a mais, eu tinha colocado os salvamentos de dados lб, mas eu tirei, porque aquela praga й chamada demais, entгo eu mudei para um timmer, tб foda achar essa fonte de lag :/

Atenciosamente,
Reply
#6

Quote:
Originally Posted by [BWL]Chamaleon
Посмотреть сообщение
Eita, me falaram que essas strings altas davam bizil mas ok kkk.
Na OnPlayerUpdate sу tem se o cara tiver ping acima do mбximo ele й kick e se pegar jetpack/arma proнbido й ban nada a mais, eu tinha colocado os salvamentos de dados lб, mas eu tirei, porque aquela praga й chamada demais, entгo eu mudei para um timmer, tб foda achar essa fonte de lag :/

Atenciosamente,
Verifique seus FilterScripts e as formas que seus cуdigos estгo sendo montados. Comece pela IDENTAЗГO.
Reply
#7

o lag tambйm pode ser causado pela utilizaзгo de vбrios SetTimer
Reply
#8

Vou dar uma revisada nos timmers, eu nгo uso FilterScripts por enquanto, sу usarei quando lanзarem a 0.3.7 entгo nгo acredito que seja isso.

Atencisoamente,
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)