komoku / aetheria

Aetheria Game Engine - Migrated from code.google.com/p/aetheria
Other
8 stars 0 forks source link

Scroll suave + imagen de fondo = ineficiencia #306

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Cuando se combinan estas dos características, AGE va muy lento:

86,5% - 138 s - 3.559 inv. java.awt.event.InvocationEvent.dispatch {[merged 
exceptional runs]:f:(128,128,128)}
84,8% - 136 s - 160 inv. eu.irreality.age.swing.FancyJTextPane.paintComponent
66,4% - 106 s - 414 inv. com.kitfox.svg.app.beans.SVGIcon.paintIcon
66,4% - 106 s - 414 inv. com.kitfox.svg.app.beans.SVGIcon.paintIcon66,4% - 106 
s - 414 inv. com.kitfox.svg.SVGDiagram.render

etc.

Porque se ve que cada vez que se muestra un frame de la animación, hay que 
repintar el fondo.

Habrá que corregir esto o mitigarlo de alguna manera, aunque sea desactivando 
el scroll suave por defecto si hay una imagen de fondo (sólo usarlo si el 
autor lo pone explícitamente).

Original issue reported on code.google.com by komoku on 23 Jul 2013 at 12:16

GoogleCodeExporter commented 9 years ago
Comprobar si sólo se nota con fondo SVG (con el que se probó hasta ahora) o 
también con raster.

Si sólo es con SVG, se podría arreglar pintando el SVG a un buffer raster y 
luego repintando sólo el raster, mientras no cambie el tamaño de la ventana 
(lo cual obligaría a repintar el SVG).

Original comment by komoku on 23 Jul 2013 at 12:19

GoogleCodeExporter commented 9 years ago
Comprobado que es sólo con SVG. Con PNG, 

1,3% - 322 ms - 451 inv. eu.irreality.age.swing.FancyJTextPane.paintComponent

Cada invocación lleva menos de 1 ms, mientras que con SVG lleva casi 1 s.

Original comment by komoku on 23 Jul 2013 at 2:29

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r817.

Original comment by komoku on 23 Jul 2013 at 3:41