[gcompris-devel] [Goocanvas-devel] SVG rescaling support
Bruno Coudoin
bruno.coudoin at free.fr
Mon Dec 1 23:02:28 UTC 2008
Le lundi 17 novembre 2008 à 23:55 +0100, Bruno Coudoin a écrit :
> Le lundi 17 novembre 2008 à 11:32 +0000, Gustavo J. A. M. Carneiro a
> écrit :
> > Interesting effort, and I don't mean to discourage you but:
> >
> > 1. You make a surface with the pixel dimensions from the suggested SVG
> > width/height, when you paint the surface it could mean cairo has to
> > scale the painted surface in real time in case non-default zoom level is
> > in effect => slow;
> >
> > 2. If the canvas is zoomed by a large factor, you will see poor image
> > quality, because the SVG resolution could be inferior to the display
> > resolution while zoomed;
>
I am still struggling on that. I don't see how I can implement a caching
at the goocanvas svg item level and still rendering a full resolution
svg. I mean that it would be ok for me to re-render the svg source in my
cache at a full resolution. But it doesn't work since when my cache is
applied on the underlying surface, it passes through the zoom factor of
it (our goocanvas main scale).
I am not sure I am clear but I am sad not to have a solution for this. I
don't expect perfection but more or less looking for a good compromise
between quality and performance (rendering the SVG all the time is way
too slow with animations).
I am sad because without this feature it means that even if I have SVG
images in GCompris they won't be rendered properly in full screen. So
moving to SVG means a slower GCompris especially on low end system but
no better graphism on high end one.
--
Bruno Coudoin
http://gcompris.net Free educational software for kids
http://toulibre.org Logiciel Libre à Toulouse
http://april.org Promouvoir et défendre le Logiciel Libre
More information about the Gcompris-devel
mailing list