It is displayed on a cairo texture but the parsing and rendering of the SVG itself is slow (comparing to just bitmaps or cairo).
But if your interface uses a single SVG file which is not re-rendered frequently this might not be an issue at all. On Thu, May 12, 2011 at 11:37 AM, Veli Ogla Sungutay <[email protected] > wrote: > in my case I'm only using a single SVG file which is processed only once to > define the scene. > Also at times, more sub renders from the same SVG file could be performed > during the lifetime of the UI. > No performance issues but I can't say that my tests were sophisticated. > > What exactly is the problem with librsvg which uses cairo itself? Can it be > fixed? > > > > On Thu, May 12, 2011 at 12:44 PM, Jan Jokela <[email protected]> wrote: > >> Building a GUI with SVG files is a bad idea unless we are talking about >> something really minimalistic. >> >> The main issue here is that librsvg is really slow rendering them. Take a >> look at Cairo for the heavylifting. >> >> >> On Thu, May 12, 2011 at 9:27 AM, Veli Ogla Sungutay < >> [email protected]> wrote: >> >>> Hi guys, >>> >>> I've been experimenting with building SVG GUIs for a while now. >>> Some tips you may find useful: >>> >>> 1. Inkscape can be called from command line with -S switch to give us >>> id,x,y,width,height information for each element. These could be >>> used to initialize ClutterCairoTexture actors. >>> >>> 2. We rely on librsvg's rsvg_handle_render_cairo_sub. You may also use >>> cairo itself to reposition each actor: >>> >>> ClutterActor* actor = >>> clutter_cairo_texture_new(svgElement->width,svgElement->height); >>> cairoHandle = clutter_cairo_texture_create(CLUTTER_CAIRO_TEXTURE(actor)); >>> cairo_translate(cairoHandle, -svgElement->x, -svgElement->y); >>> >>> rsvg_handle_render_cairo_sub(svgHandle, cairoHandle, "#elemID"); >>> cairo_destroy(cairoHandle); >>> >>> clutter_actor_set_position(actor,svgElement->x - xParent,svgElement->y - >>> yParent) >>> >>> //Only opaque areas will react to mouse events. Useful for non >>> rectangular shapes. >>> clutter_texture_set_pick_with_alpha(CLUTTER_TEXTURE(actor), TRUE); >>> >>> You can let me know how it goes. I'm hoping to share my entire code some >>> time in the summer. >>> >>> >>> >>> >>> >>> On Wed, May 11, 2011 at 1:10 PM, Damien Lespiau < >>> [email protected]> wrote: >>> >>>> On Wed, 2011-05-11 at 06:00 +0100, Alexandre Quessy wrote: >>>> > Hello, >>>> > I would like to build a GUI with SVG files in Clutter. >>>> > >>>> > To do so, should I use dax? >>>> > http://git.clutter-project.org/dax/tree/ >>>> >>>> Oh, no, not a good idea. Dax is an unfinished science project that goes >>>> boom when people try to use it. >>>> >>>> > If so, is it packaged for Debian? >>>> >>>> Dax is highly unfinished, does not even compile because it relies on >>>> Clutter branches that I never ended pushing to master (because of them >>>> being unfinished too). Thus, not ready yet to get in Debian :p >>>> >>>> > Otherwise, does mx provide this? >>>> >>>> The best way (best as in, working) to do this right now is to use >>>> librsvg + ClutterCairoTexture. That does mean that a few things are not >>>> ideal when thinking "SVG as Scalable graphics" (ie when you scale a SVG >>>> subtree you may want to re-render it and upload it again to the GPU (but >>>> when animating maybe not?) >>>> >>>> Interesting stuff to look at: >>>> >>>> * Lasem. another SVG (amd MathML) renderer >>>> http://git.gnome.org/browse/lasem >>>> It's been a while since I have looked at it, >>>> * http://jyro.blogspot.com/2008/09/inkface-svg-based-gui-design.html >>>> >>>> HTH, >>>> >>>> -- >>>> Damien >>>> >>>> --------------------------------------------------------------------- >>>> Intel Corporation (UK) Limited >>>> Registered No. 1134945 (England) >>>> Registered Office: Pipers Way, Swindon SN3 1RJ >>>> VAT No: 860 2173 47 >>>> >>>> This e-mail and any attachments may contain confidential material for >>>> the sole use of the intended recipient(s). Any review or distribution >>>> by others is strictly prohibited. If you are not the intended >>>> recipient, please contact the sender and delete all copies. >>>> _______________________________________________ >>>> clutter-app-devel-list mailing list >>>> [email protected] >>>> http://lists.clutter-project.org/listinfo/clutter-app-devel-list >>>> >>> >>> >>> >>> -- >>> Veli Sungutay >>> http://www.lyciasoft.com >>> >>> _______________________________________________ >>> clutter-app-devel-list mailing list >>> [email protected] >>> http://lists.clutter-project.org/listinfo/clutter-app-devel-list >>> >>> >> > > > -- > Veli Sungutay > http://www.lyciasoft.com >
_______________________________________________ clutter-app-devel-list mailing list [email protected] http://lists.clutter-project.org/listinfo/clutter-app-devel-list
