---------- Forwarded message ---------- Date: Thu, 23 Dec 2004 09:54:59 -0500 From: Chris <fltk@...78...> To: cairo@...278... Subject: [cairo] Very slow performance
I have some fairly complex SVG artwork that I created. I have noticed that the performance of Cairo is quite a bit slower than some other svg libraries.
My image has about 3500 paths and on my machine this image takes less than a second to load and render in Inkscape (librsvg/libart based?). Even Inkscape feels slow compared to commercial applications when handling this file.
I made a simple test program that loads this file and renders it to an image buffer in Cairo. It takes over 30 seconds to do this. That's incredibly slow and makes me wonder about the usability of Cairo in everyday applications.
Would rendering to OpenGL or xlib be faster? I'm planning on adding SVG support to FLTK by using Cairo so even if those are faster that might not help me as FLTK has it's own cross-platform drawing functions that I will be using.
Where is the bottleneck? Is libart just that much faster at doing the rendering?
The source code for my simple test is here: http://www.functionalfuture.com/radical/cairotest.c
The SVG image I'm using is here: http://www.functionalfuture.com/radical/centi_unfinished.svg.gz
On Thu, 23 Dec 2004, Bryce Harrington wrote:
Date: Thu, 23 Dec 2004 10:55:30 -0800 (PST) From: Bryce Harrington <bryce@...1...> To: inkscape-devel@lists.sourceforge.net Subject: [Inkscape-devel] [cairo] Very slow performance (fwd)
---------- Forwarded message ---------- Date: Thu, 23 Dec 2004 09:54:59 -0500 From: Chris <fltk@...78...> To: cairo@...278... Subject: [cairo] Very slow performance
I have some fairly complex SVG artwork that I created. I have noticed that the performance of Cairo is quite a bit slower than some other svg libraries.
My image has about 3500 paths and on my machine this image takes less than a second to load and render in Inkscape (librsvg/libart based?). Even Inkscape feels slow compared to commercial applications when handling this file.
I made a simple test program that loads this file and renders it to an image buffer in Cairo. It takes over 30 seconds to do this. That's incredibly slow and makes me wonder about the usability of Cairo in everyday applications.
Would rendering to OpenGL or xlib be faster? I'm planning on adding SVG support to FLTK by using Cairo so even if those are faster that might not help me as FLTK has it's own cross-platform drawing functions that I will be using.
Where is the bottleneck? Is libart just that much faster at doing the rendering?
The source code for my simple test is here: http://www.functionalfuture.com/radical/cairotest.c
The SVG image I'm using is here: http://www.functionalfuture.com/radical/centi_unfinished.svg.gz
-- // Chris
In case anyone else is interested enough to read the rest of the thread here's the direct link to this message in the Cairo mailing list archives http://lists.freedesktop.org/pipermail/cairo/2004-December/002376.html
Sincerely
Alan Horkan
Dia is for Diagrams http://gnome.org/projects/dia/ Abiword is Awesome http://abisource.com
This sounds identical to those ever-so-helpful "Intel-c++ faster than gcc" arguments.
I don't understand what information he is trying to find. There is no qualitative information or profiling.
He deserves a full refund of the purchase price. ;-)
By the way, this is not purely a Cairo phenomenon he his describing. It is Cairo plus libsvg and libsvg-cairo, which is not mentioned in the posting, but can be seen in the C file.
Actually, I have seen libsvg-cairo render a single static image faster than Inkscape, but then be slower on refreshes. This must be, I think, a natural difference in libsvg-cairo's immediate rendering and Inkscape's retained rendering.
Bob
Bryce Harrington wrote:
---------- Forwarded message ---------- Date: Thu, 23 Dec 2004 09:54:59 -0500 From: Chris <fltk@...78...> To: cairo@...278... Subject: [cairo] Very slow performance
I have some fairly complex SVG artwork that I created. I have noticed that the performance of Cairo is quite a bit slower than some other svg libraries.
My image has about 3500 paths and on my machine this image takes less than a second to load and render in Inkscape (librsvg/libart based?). Even Inkscape feels slow compared to commercial applications when handling this file.
I made a simple test program that loads this file and renders it to an image buffer in Cairo. It takes over 30 seconds to do this. That's incredibly slow and makes me wonder about the usability of Cairo in everyday applications.
Would rendering to OpenGL or xlib be faster? I'm planning on adding SVG support to FLTK by using Cairo so even if those are faster that might not help me as FLTK has it's own cross-platform drawing functions that I will be using.
Where is the bottleneck? Is libart just that much faster at doing the rendering?
The source code for my simple test is here: http://www.functionalfuture.com/radical/cairotest.c
The SVG image I'm using is here: http://www.functionalfuture.com/radical/centi_unfinished.svg.gz
participants (3)
-
Alan Horkan
-
Bob Jamison
-
Bryce Harrington