Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Jogo apresenta lentidão enquanto roda

Olá.

Coloquei mais alguns elementos que se movem no jogo. Mas não são objetos criados como os canos. São imagens criadas em certo momento no jogo ou quando atingem uma largura de tela ou algo assim.

O problema é que quando rodo o aplicativo, durante o jogo e em alguns momentos, os elementos ficam um pouco mais lentos, mas voltam ao normal logo em seguida. Isso ocorre várias vezes enquanto o jogo funciona tanto no emulador como no celular.

Como posso resolver isso? Alguma ideia?

Obrigado.

1 resposta
solução!

Provavelmente, você está criando esses objetos dentro do loop principal do seu jogo. Então, cada vez que o jogo executa o loop novos objetos são criados na memória. Com isso, seu jogo vai ficando lento.

Outro motivo: pode ser que você esteja redimensionando essas imagens no loop principal. Como redimensionar imagens é algo bastante caro, isso pode justificar o seu jogo ficando lento e depois voltando ao normal.

Minha sugestão: evite instanciar os mesmos objetos no loop principal. Sempre reaproveite-os (como fizemos com os canos: sempre temos os mesmos objetos, só mudamos suas posições).

Para o segundo problema, veja se é necessário sempre redimensionar as imagens. Talvez você possa redimensioná-las logo no início do jogo e trabalhar durante toda a aplicação com a mesma imagem previamente redimensionada.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software