Desarrollo de juegos Java. Hacer un mapa de mosaico más rápido. Consejos sobre optimizaciones

Estoy tratando de hacer un motor de juego completamente automatizado que deba funcionar según los eventos. El problema al que me enfrento es que hice una clase de mapa y se inicializó en la clase de juego. Es casi estático y solo existe un mapa para un juego. Los nuevos mapas se cargan borrando los objetos en el mapa actual y agregando nuevos mapas. Puedes ver la fuente de la clase de mapa aquí.

http://code.google.com/p/game-engine-for-java/source/browse/src/com/gej/map/Map.java

Los principales problemas vienen en la detección de colisión, donde estoy usando la detección de colisión de fuerza bruta donde no debería. Esto ralentiza mucho el juego y quiero verificar las colisiones solo para los objetos que están más cerca del objeto. He estado usando la interfaz MapLoader para construir los mapas. Estoy pensando que llamar al método collision () de los objetos en otro hilo podría ayudar. Sin embargo, todos los objetos del mapa se actualizan en la clase Juego.

Aquí está la clase de juego si en caso de que pueda ayudar

http://code.google.com/p/game-engine-for-java/source/browse/src/com/gej/core/Game.java

Hay otro problema que a veces, los objetos no se destruyen. Llamo al método removeObject () del mapa, pero lleva un retraso de 1 segundo y algunas veces no se elimina en absoluto.

Me da 48-64 fps en un juego de plataformas con 158 objetos en el juego. Pero en un juego de estilo de invasores del espacio, me da solo 20-30 fps. Cualquier consejo sobre optimización es muy apreciado ...

Si alguien pudiera darme un tutorial para el espaciado binario, etc., estaría agradecido.

Respuesta 1

Pensé que esto sería automático: <rich: tooltip value = "Download (# {doc.size div 1024 + 1} KB)" /> Necesito calcular la cantidad de KB que tiene un archivo para descargar (el tamaño es integral) . En ...

Tenía experiencia con Java anteriormente, y actualmente en forma intermitente con el desarrollo de Java. Pero pronto involucraré proyectos complejos. Estoy buscando sugerencias para un IDE. Soy bastante nuevo en ...

En Eclipse, ¿es posible cambiar una aplicación que se está ejecutando (Ctrl + F11) al modo de depuración (F11)? Sé que mientras el programa se ejecuta en modo de depuración, es posible cambiar el código sin ...

He encontrado un buen ejemplo sobre la autenticación de servicios WCF con nombre de usuario / contraseña personalizados (Un servicio WCF simple con autenticación de contraseña de nombre de usuario: lo que no le dicen). Esto se ajusta a lo que yo ...