To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=69325 Issue #|69325 Summary|cairo canvas: filling is real slow on non integer valu |es Component|gsl Version|OOo 2.0.3 Platform|All URL| OS/Version|Linux Status|NEW Status whiteboard| Keywords| Resolution| Issue type|DEFECT Priority|P3 Subcomponent|code Assigned to|rodo Reported by|cmc
------- Additional comments from [EMAIL PROTECTED] Wed Sep 6 04:48:05 -0700 2006 ------- I have this real real slow cairo canvas on my laptop, and made a test case of the problem (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=203733) and after some too and fro with cworth what seems to trigger it is the +0.5 for the fill cases. <cworth> caolan: And about the 0.5 values in that test case... <cworth> caolan: Do you know if those are realistic or fabricated? <cworth> caolan: They're making cairo work _really_ hard just to put some blurriness in the edge pixels of the image. For example, turning the coordinates into integers changes my run time to: <cworth> cairo_fill() time: 0.000285 sec <caolan> cworth: I pulled those ones from what OOo did IIRC <cworth> caolan: Sure. I mean, do you know if OOo has any good reason to be doing this? <caolan> cworth: maybe not, maybe I should fiddle with rounding them ? <cworth> caolan: Should make a couple of orders of magnitude difference in performance, so yes. <caolan> cworth: excellent, that might be sufficent. It affects the tiny testcase greatly <cworth> caolan: Glad I had a simple answer for you. Sorry I hadn't had a chance to notice that earlier. * caolan sees that the canvas is riddled with +0.5's <cworth> caolan: That's due to a misunderstanding I think. <cworth> caolan: When _stroking_, (not filling), and when using a line width that is an odd integer, (the most common case is 1.0), it's often advantageous (for both quality and performance) to use half-integer coordinates. <cworth> caolan: Just blindly throwing 0.5 at cairo is really crude though. What should be happening is that geometry should be snapped to the device-pixel grid as necessary. <cworth> That's only an adjustment of 0.5 when there's no transformation happening (and only when stroking with an odd integer line width as I said above). So... looks like we should be doing the +0.5 when we are filling. And a crude patch is attached to do this, but make a massive difference for me in the cairo canvas for displaying presentations. Perhaps some modifications along this line to only do the +0.5 for stroking and for odd integrer line widths is called for ? --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]