Jump to content

procuro solução para uso de memoria em programação OOP.


Recommended Posts

Boa noite galera estou a procura de uma solução no uso de memoria de alguns algoritmos feitos por mim vou tentar explicar como o sistema funciona, ele é uma framework que tem como base um onClientPreRender e onClientRender, tem varios sistemas nele, por exemplo de prioridades de janelas, arraste, entre outros. Tudo é comandado por 4 funções principais (updatePositions,render,click e doubleClick) .

a hierarquia do sistema é assim:

Sem%20t%C3%ADtulo.png?dl=1

onde você partindo de um render consegue criar uma dessas coisas o maior problema que esta havendo, é quando iniciamos o resource ele simplesmente da network no server, se o player tiver pouca memoria entao ... mais facil ele reconectar. Todos os elementos foram criados em oop e programados para serem compatíveis

agora um exemplo para voces entenderem melhor.mta-screen_2018-12-06_21-09-03.png?dl=1.

aqui temos o mapShop onde seu codigo fonte é este

callServerFunction("getServerMaps",localPlayer)
mapshop = window.create("MAP SHOP",sX/2-resX(350),sY/2-resY(250),700,500,255,0,0,1,"apps/mapshop/icon/mapshop.png",12,"default",false,true)
mapshop_grid = gridlist.create({},1,1,698,400,16,12,"default","Search Map Name..",mapshop)
function updateMaplist(newlist)
    mapshop_grid:updateData(newlist)
end
button.create(195,433,150,30,"Buy Map $"..config.priceMap,12,"default",0,220,0,[[callServerFunction("buyMap",localPlayer,mapshop_grid:getSelect())]],mapshop)
button.create(355,433,150,30,"Buy Redo $"..config.priceRedo,12,"default",0,220,0,[[callServerFunction("buyRedo",localPlayer)]],mapshop)

o sistema foi muito otimizado, porem agora preciso fazer ele ser econômico '-' 

Conto com a ajuda de todos, todas as ideias serão bem vindas, não fique com vergonha, fique a vontade para comentar.

  • Thanks 1
Link to comment
  • Moderators

Como você sabe que o problema está no uso de memória? Você chegou a fazer uma analise no código usando o performanceBrowser?

É difícil de sabermos o que há de errado sem ter acesso ao código, mas o que posso dizer é que dependendo do que tiver rodando dentro de um onClientRender/PreRender pode afetar a performance do script a ponto de interromper a jogabilidade (como o network trouble que você mencionou).

O acumulo de memória por conta de um código mal otimizado pode estar causando isso, embora também possa não ser essa a causa.

Bom, antes de tudo, tenha certeza que todo o código esteja limpo e funcionando sem que dê problemas. Faça uma depuração, use o performanceBrowser como eu citei e aprenda a fazer os códigos de uma forma mais eficiente:

https://springrts.com/wiki/Lua_Performance

  • Like 1
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...