To anyone who's tested the cairo code in git HEAD, or after I added support for transparency, I've fixed a dumb mistake which significantly reduced its performance.
Basically, I divided by 256, rather than 255 for computing cairo colours from gEDA's internal colours, meaning every object was very slightly translucent. This causes it to hit slower paths in the video card drivers than solid filled objects. With this change (and another important modification), the mesh grid can be drawn in cairo without any performance impact. (In fact, there might be some gain due to grouping of operations when sent to the X11 server). It "might" have been possible to do better using gdk_draw_segments rather than lots of calls to gdk_draw_line, but I didn't try that. The current code manages about 80fps on my box viewing a grid at default title-box zoom level. (NB: This is with text rendering disabled) (Before, the benchmark with cairo drawn grid was about 6fps!) Best wishes, -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) _______________________________________________ geda-dev mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev
