05.08.2014, 01:59
(
Последний раз редактировалось Sn0wk; 05.08.2014 в 02:43.
)
MapAndreas sem dъvidas й um dos lanзamentos mais interessantes do SA:MP nos ъltimos tempos, contudo, hб problemas em especial de memуria, que fazem torna-lo um script bastante pesado SEM CACHE para execuзгo e um plugin bastante pesado COM CACHE para memуria.
Servidores com quantidades absurdas de cуdigos requerem uma maior velocidade de processamento nos cуdigos. Й por este motivo que existe o cache da MapAndreas. Contudo, em plugin mesmo em Cache a velocidade de MapAndreas talvez nгo seja tгo satisfatуria.
Pensando assim. E pegando a funзгo de RyDeR', modifiquei algumas arrays do SA:MP para deixar o MapAndreas Cache puramente em Pawn. Dessa forma o acesso aos dados й praticamente instantвneo, podendo usar em um timer de atй 1 ms sem surtir lags no servidor. Claro que este plugin ocuparб MUITA memуria. Algo superior a 70 megabytes, mas й algo razoavelmente baixo para os computadores atuais.
Vantagem
Bem, memуria nгo vai poupar, e admito que as vantagens vгo ser sу na parte de execuзгo do cуdigo que poderб ser drбstica mente alterada. Ou seja, isto permite vocк a colocar este cуdigo em OnPlayerUpdate por exemplo, algo que antes era atй desaconselhбvel.
Resultados
Lembrando que estou usando o plugin no modo cache, se comparar o plugin fora do modo cache, seria um absurdo de velocidade diferencial, arriscaria dizer umas mil vezes mais rбpido, literalmente.
Isso dб no mнnimo umas dez vezes mais rбpido
Porque criei?
No servidor zumbis, eu precisava de verificaзхes rбpidas no MapAndreas, e apenas o plugin com cache nгo estava dando conta, por isto tive que emular o arquivo no Pawn, que o acesso serб mais rбpido por conta de registra tudo numa variбvel global.
Desvantagens
Ocupa muita memуria, apesar de incrнvel velocidade.
Demora logo na inicializaзгo para poder ler o MapAndreas e passar para memуria Pawn.
A precisгo й um pouco diminuida por conta do floatround, diferencial de ~1.0 em xy, algo aceitбvel
Modo de uso
Apenas retire o MapAndreas.inc e coloque este cуdigo no lugar dele, ele automбticamente jб substitui todas funзхes do plugin por padrгo.
http://pastebin.com/8pdedaq2
Agradeзa!
Servidores com quantidades absurdas de cуdigos requerem uma maior velocidade de processamento nos cуdigos. Й por este motivo que existe o cache da MapAndreas. Contudo, em plugin mesmo em Cache a velocidade de MapAndreas talvez nгo seja tгo satisfatуria.
Pensando assim. E pegando a funзгo de RyDeR', modifiquei algumas arrays do SA:MP para deixar o MapAndreas Cache puramente em Pawn. Dessa forma o acesso aos dados й praticamente instantвneo, podendo usar em um timer de atй 1 ms sem surtir lags no servidor. Claro que este plugin ocuparб MUITA memуria. Algo superior a 70 megabytes, mas й algo razoavelmente baixo para os computadores atuais.
Vantagem
Bem, memуria nгo vai poupar, e admito que as vantagens vгo ser sу na parte de execuзгo do cуdigo que poderб ser drбstica mente alterada. Ou seja, isto permite vocк a colocar este cуdigo em OnPlayerUpdate por exemplo, algo que antes era atй desaconselhбvel.
Resultados
Lembrando que estou usando o plugin no modo cache, se comparar o plugin fora do modo cache, seria um absurdo de velocidade diferencial, arriscaria dizer umas mil vezes mais rбpido, literalmente.
Quote:
[22:57:42] Tempo de execuзгo Pawn Cache: 17 ms [22:57:42] Tempo de execuзгo Plugin: 227 ms |
Isso dб no mнnimo umas dez vezes mais rбpido
Porque criei?
No servidor zumbis, eu precisava de verificaзхes rбpidas no MapAndreas, e apenas o plugin com cache nгo estava dando conta, por isto tive que emular o arquivo no Pawn, que o acesso serб mais rбpido por conta de registra tudo numa variбvel global.
Desvantagens
Ocupa muita memуria, apesar de incrнvel velocidade.
Demora logo na inicializaзгo para poder ler o MapAndreas e passar para memуria Pawn.
A precisгo й um pouco diminuida por conta do floatround, diferencial de ~1.0 em xy, algo aceitбvel
Modo de uso
Apenas retire o MapAndreas.inc e coloque este cуdigo no lugar dele, ele automбticamente jб substitui todas funзхes do plugin por padrгo.
http://pastebin.com/8pdedaq2
Agradeзa!