To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=108636





------- Additional comments from [email protected] Mon Feb  1 10:45:43 +0000 
2010 -------
AW: Found two problems:
(1) In SdrOle2Primitive2D::operator== the two sub-primtive-sequences were
compared using the standard UNO API operator== for sequences. That operator does
not what i expected, i need to compare the contents for equality like my helper
arePrimitive2DSequencesEqual(..) does. This leads to always re-decomposing the
metafile primitive since the SdrOle2Primitive2D::operator== always returned
false. This is avoided now.

This took time at each repaint, but just a fraction (maybe 20%) which is nice
for a decomposition of such a big metafile to primitives.

(2) In the metafile primitive decoder itself, the handling of ClipRegions was
not optimal. In this case, a ClipRegion was set very early in the metafile
(probably for the whole chart area). A lot of push/pop actions follow which not
really do anything (e.g. not changing the region). At pop() the old ClipRegion
needs to be restored which is a ClipRegion change. For that change, a
MaskPrimitive2D with the up-to-then created sub-content was created. While this
is not wrong, it is not necessary when as here with a pop() the old and the new
ClipRegion are the same. Optimized this and other cases so that much less
MaskPrimitive2Ds will be created. This brings bact the speed to former versions
with even slight speedups (as seen for HJMemulator_reduced.xls already).

Checking in both changes...

---------------------------------------------------------------------
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