[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