[DUVIDA] Sobre strings
#1

Ola, eu fiquei sabendo que as strings com um numero muito grande faz demorar aparecer as mensagens dando lag etc.
Na opniгo de voces й melhor

Em cada comando que eu for usar as strings, eu criar o new stg[TAMANHO TEXTO]
ou
й melhor deixar new strings [256] global mesmo?
Reply
#2

Acho que 128 й melhor, no caso vocк nunca chega a usar tudo...

Sу se usa aparte quando sгo formats imensos e etc, mas para isso pode-se criar uma nova variбvel com os caracteres contados...
Reply
#3

Mais se eu criar em todos os comandos new stg[TAMANHO EXATO DA MENSAGEM] a mensagem ia mais rapida que a string global? ou nгo tem nada ver
Reply
#4

Usa uma global, no format tu conta os caracteres...
pawn Код:
format(String, CONTADOS, ..., ....); //Troca contados pelo valor contado dos caracteres
Reply
#5

Acho que quanto menor a string , mais rapida serб a velocidade de processamento da mensagem , vocк sу usa mais que 128 , quando realmente necessбrio , igual disse o Willian no post acima, mas isto vocк mesmo pode fazer o teste e ver a diferenзa.
Reply
#6

pawn Код:
format(stringes, sizeof(stringes), "[CENTRAL] Uma barreira foi criada pelo %s", nome);
    SendMessageCops(PM_COR, stringes);
@Willian poderia me explicar melhor onde por o valor dos caracteres
Reply
#7

Digamos que
pawn Код:
stringes
contenha um valor de 256, sizeof significa 'tamando de...' stringes, ou seja o valor do format seria de 256...

pawn Код:
format(stringes, sizeof(stringes....
format(stringes, 256...
Entendeu?

Seriam iguais !
pawn Код:
new x[10];

format(x, sizeof(x), " ", ...);
format(x, 10, " ", ...);
Reply
#8

Evitem muito usar arrays/variбveis globais.

Variбveis/arrays locais sгo mais leves, economizam memуria, evitam bugs e deixa o visual do cуdigo mais limpo.
Reply
#9

pawn Код:
new stringes[128]
Sizeof de stringes
Reply
#10

Ambas tкm suas vantagens e desvantagens .



Variбveis globais, quanto mais forem maiores em quantidade, maior a parte da memуria do computador que ocuparгo .



Jб as variбveis locais (pelo menos as nгo-declaradas com static) sгo destruнdas assim que ocorre o tйrmino do processamento do bloco de cуdigo no qual estгo. Se manuseadas corretamente, juntas terгo sempre um tamanho menor que o espaзo de memуria que й socilitado para a pilha (ou stack), estrutura de dados que as contйm durante o leitura do arquivo .amx .



Por outro lado a velocidade do cуdigo diminui se essas variбveis forem utilizadas, pois elas sгo criadas durante a execuзгo dele, enquanto que as globais jб sгo criadas apуs a compilaзгo do cуdigo Pawn .



Na minha opiniгo й melhor uma variбvel global para armazenar mensagens, pois nesse caso prefiro velocidade e praticidade a memуria. Se vocк formatar a string armazenada sempre imediatamente antes de utilizб-la, nгo terб problemas com a variбvel.



Espero ter ajudado .
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)