Foros del Web » Programación para mayores de 30 ;) » Java »

Centralizar el dibujado en pantalla

Estas en el tema de Centralizar el dibujado en pantalla en el foro de Java en Foros del Web. Hola!. Vereis, estoy haciendo un juego sobre un JFrame. Cada objeto tiene su propio método paint, y se van incorporando al frame a medida que ...
  #1 (permalink)  
Antiguo 01/03/2006, 07:45
 
Fecha de Ingreso: marzo-2006
Mensajes: 106
Antigüedad: 18 años, 2 meses
Puntos: 0
Centralizar el dibujado en pantalla

Hola!.
Vereis, estoy haciendo un juego sobre un JFrame. Cada objeto tiene su propio método paint, y se van incorporando al frame a medida que transcurre el juego. Mi pregunta es: ¿Es mejor que cada objeto ejecute su método paint o agregarlo a una lista que esté en otro objeto, que se encargaría de pintar todo lo que hay en pantalla?. Es que al tratarse de un método en continua ejecución, quizá una de las opciones sea mucho más lenta que la otra.
  #2 (permalink)  
Antiguo 02/03/2006, 05:35
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Usa hilos ( threads ) . Un hilo por cada objeto visual .
  #3 (permalink)  
Antiguo 02/03/2006, 08:27
 
Fecha de Ingreso: marzo-2006
Mensajes: 106
Antigüedad: 18 años, 2 meses
Puntos: 0
Y no sería mejor usar un mismo hilo para todos los métodos de dibujado?. Porque serían muchos objetos a dibujar, y deberían crearse muchos hilos distintos
__________________
"El río más profundo siempre es el más silencioso"
  #4 (permalink)  
Antiguo 02/03/2006, 10:26
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Depende . Por ejemplo para una barra de progreso yo crearia un hilo , para objetos que casi no van a variar de estado pues no.
Mirate un ejemplo de un Applet en :

http://club.idecnet.com/~ccastano/fe...105/221105.htm

para dibujar la barra de progreso se utiliza un hilo , para lo demás no ya que permenece estático
  #5 (permalink)  
Antiguo 02/03/2006, 10:57
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Si tienes muchos objetos a visualizar, lo suyo es tener un solo Thread que pinte y los demas que le dejen trabajos en una cola de "pendientes". Así el Thread de pintar lo optimizas al máximo y no tienes que tratar conflictos de concurrencia de Threads pintando en el mismo sitio. Si con un Thread no basta, siempre puedes usar un pool de Threads leyendo de la cola de pendientes.

Swing lo hace así (solo hay un Thread que trate los eventos de pintar la pantalla).

La solución de thread-por-proceso no es escalable y solo sirve para acciones independientes. Pero cuando han de competir por un recurso (pintar), no conviene que el numero de threads crezca mucho.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:24.