Pregunta

Estoy buscando hacer algunas simulaciones de física y necesito una representación rápida en Java.

He tenido problemas de rendimiento con Java2d en el pasado, ¿cuáles son las alternativas más rápidas? ¿Es JOGL significativamente más rápido que Java2d?

¿Fue útil?

Solución

Mi experiencia con Java2D es que puede ser muy rápido, si sigues las reglas. Tuve una aplicación que pasó de 90% de CPU a menos de 5% de CPU solo cambiando algunas cosas simples. El uso de grandes PNG transparentes no es un no, por ejemplo.

Un recurso muy bueno son los foros de Java-Gaming.org: mucha gente, incluidos los especialistas en Sun 2D, se reúnen y ofrecen muchos ejemplos y soluciones a problemas de rendimiento para el dibujo en 2D.

Consulte: http://www.javagaming.org/ y luego el tema " Ajuste de rendimiento " ;.

Otros consejos

JOGL puede ser mucho más rápido que Java2D incluso si lo usa para hacer gráficos en 2D solamente: como mencionó Clayworth, generalmente depende de lo que necesite hacer.

Mi conjetura es que para las simulaciones físicas en 2D, donde tiene objetos (texturados o no texturizados) que giran y se traducen con 2 grados de libertad, JOGL debería proporcionar el mejor rendimiento y también permitirle proporcionar una interfaz ampliable. Aquí hay un tutorial para OpenGL para gráficos 2D (C, pero se adapta fácilmente a JOGL ).

JOGL tomará un poco más de tiempo para aprender que Java2D, pero lograr un buen rendimiento probablemente no requerirá optimizaciones especializadas como en Java2D.

No lo sé, en el pasado habría dicho que sí, especialmente si usa las listas de visualización en lugar de hacer muchas llamadas a través de la API cada vez que se muestra la pantalla. Pero la actualización 10 de la 1.6 JVM agregó gráficos Java2D acelerados, por lo que ahora puede tener la ventaja. Realmente, la única forma de saberlo con seguridad es tratar de representar escenas típicas en ambas y medirlas.

También puedes ver Slick , que se basa en LWJGL y de alguna manera es similar a Java2D. Utiliza OpenGL y por lo tanto es mucho más rápido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top