Й vantajoso usar PVar para armazenar dados simples?
#1

Boa tarde meus conterrвneos.

Venho por meio deste lhe fazer o seguinte questionamento: Й vantajoso usar PVar para armazenar, por exemplo, a rota atual que um caminhoneiro estб executando? Ou eu deveria mesmo usar uma variavel "comum" para isso?

Li que PVars sгo bastante lentas se comparadas as variaveis comuns, mas nгo sei se nesse caso, a velocidade seria um problema, jб que sгo dados extremamente basicos, e que nem sгo lб de extrema importancia na conta do jogador. (Atй porque sгo resetados quando o jogador sai do servidor).


Bem, peзo a opiniгo de vocкs, posso usar PVars ou devo mesmo usar uma variavel normal?
Reply
#2

й vantagem se quiser acessar por outros filterscripts, ou entгo modulos anteriores caso nгo saiba envelopar variбveis normais.

uma das vantagens de Pvar й nгo precisar de reset
Reply
#3

Nгo use PVar.
Reply
#4

Quote:
Originally Posted by RazorGuigo
Посмотреть сообщение
й vantagem se quiser acessar por outros filterscripts, ou entгo modulos anteriores caso nгo saiba envelopar variбveis normais.

uma das vantagens de Pvar й nгo precisar de reset
Pois й, o que me atraiu na PVar й o fato de nгo precisar de reset, o que ia economizar uma penca de linhas (e de trabalho) do OnPlayerDisconnect. Mas nгo sei se essa diferenзa na velocidade compensa a minha preguiзa de escrever...

Quote:
Originally Posted by renatog
Посмотреть сообщение
Nгo use PVar.
Why?
Reply
#5

Quote:
Originally Posted by BrunnoFdc
Посмотреть сообщение
Pois й, o que me atraiu na PVar й o fato de nгo precisar de reset, o que ia economizar uma penca de linhas (e de trabalho) do OnPlayerDisconnect. Mas nгo sei se essa diferenзa na velocidade compensa a minha preguiзa de escrever...
ai depende da quantidade de vezes que vai acessб-la, mas se for sу pelo preguiзa nгo recomendo muito nгo
Reply
#6

Quote:
Originally Posted by BrunnoFdc
Посмотреть сообщение
Why?
No fim das contas, as variбveis arrays indexadas sгo mais rбpidas e gastam menos memуria, mesmo que se use alguns truques para otimizar PVars (como strings com static const em vez de literais) .



Espero ter ajudado .
Reply
#7

Quote:
Originally Posted by rjjj
Посмотреть сообщение
No fim das contas, as variбveis arrays indexadas sгo mais rбpidas e gastam menos memуria, mesmo que se use alguns truques para otimizar PVars (como strings com static const em vez de literais) .



Espero ter ajudado .
Exclareceu bastante, thanks.

Obrigado pelas opiniхes de todos. A principio vou usar as variaveis do prуprio pawn, atй que alguйm, por ventura, seja convincente o suficiente nesse post para mostrar que isso nгo й a escolha mais certa.

Att
Reply
#8

Vamos lб! O pessoal que lhe respondeu nгo sobe explicar direito o sistema!

PVar й vantajoso sim!
1Є Economia de memуria!
2Є Permite Acesso dinamico!
3Є Prove Facilidade no codigo!
4Є Pode armazenar Strings enormes sem se preocupar com alocamento!

Desvantagem!

Por ser dinamico й lento! (Nгo afeta em nada se saber programar)
Limitado a 800 PVar em todo server!

Bom vamos a uma rбpida explicaзгo! Baseando que vocк possua um server com media de 80 Players Online Simultaneamente!
Pra mostrar ao certo quando deve ou nгo usar PVar, vamos supor que seu server possua um sistema de login, onde para se registra й necessбrio confirmar sua senha duas vezes! E vocк possui o Seguinte senario!
PHP код:
#define PLAYERS 100
enum pppinfo
{
    
Senha1[64],
    
Senha2[64],
    
Outras variaveis
}
new 
pInfo[PLAYERS][pppinfo]; 
Ok Vocк consegue ver que vocк utiliza duas variaveis de 64 caracteres * 100 Que й a quantia de pInfo
Totalizando 12800 caracteres desperdiзados, + Endereзo de memуria etc...

Й aqui onde utilizar PVar Sai vantajoso!
Vocк alocaria na hora do registro, e deletaria pуs cadastro ou deixava pro player deletar quando se desconectar!
Alem disso supondo que a senha foce "123456" o pVar й tamanho dinamico, entгo sua String teria 7 caracterer armazenados, mesmo utilizando a variavel estatica, vocк ainda tem os caracteres alocados sobrando!
Eu uso e recomendo!


Para saber mais...
https://sampwiki.blast.hk/wiki/Limits
https://sampwiki.blast.hk/wiki/Per-player_variable_system
Reply
#9

Quote:
Originally Posted by AdrianoStk
Посмотреть сообщение
Vamos lб! O pessoal que lhe respondeu nгo sobe explicar direito o sistema!

PVar й vantajoso sim!
1Є Economia de memуria!
2Є Permite Acesso dinamico!
3Є Prove Facilidade no codigo!
4Є Pode armazenar Strings enormes sem se preocupar com alocamento!

Desvantagem!

Por ser dinamico й lento! (Nгo afeta em nada se saber programar)
Limitado a 800 PVar em todo server!

Bom vamos a uma rбpida explicaзгo! Baseando que vocк possua um server com media de 80 Players Online Simultaneamente!
Pra mostrar ao certo quando deve ou nгo usar PVar, vamos supor que seu server possua um sistema de login, onde para se registra й necessбrio confirmar sua senha duas vezes! E vocк possui o Seguinte senario!
PHP код:
#define PLAYERS 100
enum pppinfo
{
    
Senha1[64],
    
Senha2[64],
    
Outras variaveis
}
new 
pInfo[PLAYERS][pppinfo]; 
Ok Vocк consegue ver que vocк utiliza duas variaveis de 64 caracteres * 100 Que й a quantia de pInfo
Totalizando 12800 caracteres desperdiзados, + Endereзo de memуria etc...

Й aqui onde utilizar PVar Sai vantajoso!
Vocк alocaria na hora do registro, e deletaria pуs cadastro ou deixava pro player deletar quando se desconectar!
Alem disso supondo que a senha foce "123456" o pVar й tamanho dinamico, entгo sua String teria 7 caracterer armazenados, mesmo utilizando a variavel estatica, vocк ainda tem os caracteres alocados sobrando!
Eu uso e recomendo!


Para saber mais...
https://sampwiki.blast.hk/wiki/Limits
https://sampwiki.blast.hk/wiki/Per-player_variable_system
Cara, sem ofensas a sua pessoa, mas o que tб escrito ae й merda.
Reply
#10

A pode ser neh, porque й vantajoso ter varias variaveis atoa alocadas globalmente no seu server sem nenhuma utilidade /funзгo
Reply
#11

Nгo й, mas dada a alternativa й melhor alocar memуria para sempre do que usar esse "mapa" do samp.
- Ao criar uma variбvel independente do tipo o servidor irб alocar memуria para todos os outros tipos.
- Nгo й um mapa de verdade, й uma lista encadeada + strcmp
- Nгo й apenas um pouco mais lento, й muito mais lento.

Se vocк quer mesmo boas alternativas use algo como GVar, Pawn-Memory ou PawnPlus
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)