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]

Reply via email to