Issue 112117 - Sample chart rendering very slow
Summary: Sample chart rendering very slow
Status: CLOSED FIXED
Alias: None
Product: General
Classification: Code
Component: chart (show other issues)
Version: 3.3.0 or older (OOo)
Hardware: Unknown All
: P3 Trivial (vote)
Target Milestone: ---
Assignee: wolframgarten
QA Contact: issues@graphics
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-04 13:17 UTC by Armin Le Grand
Modified: 2017-05-20 11:41 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Bugdoc showing the very slow rendering of a simple chart (20.86 KB, text/plain)
2010-06-04 13:18 UTC, Armin Le Grand
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description Armin Le Grand 2010-06-04 13:17:52 UTC
AW: Got a chart which renders very slow.
Comment 1 Armin Le Grand 2010-06-04 13:18:36 UTC
Created attachment 69800 [details]
Bugdoc showing the very slow rendering of a simple chart
Comment 2 Armin Le Grand 2010-06-04 13:24:49 UTC
AW: The chart is slow due to two reasons:

(a) When the Metafile is converted to primitives, the transparent grid lines
which are transported in the Metafile as MetaFloatTransparentAction (Metafiles
have very limited possibilities to transport transparence information) are by
error embedded into a MastPrimitive each by error. This happens since the main
graphic state during processing has a ClipRegion and the Sub-Metafile content
used in MetaFloatTransparentAction is interpreted using this. This is wrong; a
sub-content need to start wit a freshly initialized (to defaults) graphic
content. Problem is that this collides with #i111235# from aw081.

(b) Each transparent hairline is embedded into a UnifiedTransparencePrimitive2D.
This is correct, but can be optimized in the pixel renderer by detecting those
cases and drawing transparent hairlines directly. This would need #i101378#
which is in CWS vcl112.

As can be seen, the preconditions are not good. With OOo3.3 closing coming
nearer, i will do what i can.
Comment 3 Armin Le Grand 2010-06-04 13:30:38 UTC
AW: To fix (a), i have now merged in CWS aw081 completely.
AW: Added needed stack handling to metafileprimitive2d.cxx. This alone makes the
chart render pretty fast since only very small (area-wise) sub-VDevs are created
to handle the transparence of the Hairlines.

AW: Also added code already to fix (b), but curently can only detect those
cases, but not yet paint them using VCL (as said, need another fix from there).
Best will be to do this fixes as far as possible and to make a F'up task for
direct rendering of transparent hairlines.
Comment 4 Armin Le Grand 2010-06-04 13:58:42 UTC
AW: Added #i112118# as F'up for (b).
AW: Commited changes, done.
Comment 5 Armin Le Grand 2010-06-08 14:04:01 UTC
AW: Re-checked in pro build.
AW->WG: Please verify in CWS. Just use testfile, is much faster now.
Comment 6 wolframgarten 2010-06-10 10:21:24 UTC
Verified in CWS.