From: Steve C. <ste...@ya...> - 2004-12-09 11:13:18
|
I've split backend_gtk.py into two parts: backend_gdk.py - an image backend, like Agg and Cairo. backend_gtk.py - an GUI backend, that uses gdk rendering I don't think that a gdk backend is that much use by itself (since Agg is probably better for most people to use), but I think it has these benefits: - the split is more consistent with the way Agg/GTKAgg and Cairo/GTKCairo are written - the rendering (image backend) is separated from the GUI. - it allows me to run examples/backend_driver.py on gdk (without having gtk widgets popup on screen) and compare performance etc to Agg and Cairo. - it makes it easier to delete GDK rendering (while keeping the GTK GUI) at a later date, if it is no longer required. Here's the backend_driver results I got for some of the backends, fastest first: Backend Template took 0.89 minutes to complete template ratio 1.000, template residual 0.000 Backend SVG took 1.06 minutes to complete template ratio 1.185, template residual 0.166 Backend PS took 1.32 minutes to complete template ratio 1.480, template residual 0.429 Backend Agg took 1.36 minutes to complete template ratio 1.519, template residual 0.464 Backend GDK took 1.88 minutes to complete template ratio 2.101, template residual 0.984 Backend Cairo took 2.11 minutes to complete template ratio 2.358, template residual 1.214 Cairo is slow compared to Agg, but has similar performance to GDK. This makes sense since GDK and Cairo are both written in Python, which much of Agg is written in C++. Steve |