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]
