| Summary: | Chart Building / Rendering Performance Issues | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Adrian Issott <adrian.issott> | ||||
| Component: | BIRT | Assignee: | Birt-Chart-inbox <Birt-Chart-inbox> | ||||
| Status: | RESOLVED WONTFIX | QA Contact: | Xiaoying Gu <bluesoldier> | ||||
| Severity: | major | ||||||
| Priority: | P3 | CC: | adrian.issott, bluesoldier | ||||
| Version: | unspecified | ||||||
| Target Milestone: | 3.7.0 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | Obsolete | ||||||
| Attachments: |
|
||||||
|
Description
Adrian Issott
Created attachment 175202 [details]
Test code used to reproduce the bug
See also the following discussion on the BIRT forum that caused this bug to be raised: http://www.eclipse.org/forums/index.php?t=rview&goto=549024#msg_549024If After investigation, rendering time is mainly spent on two fuctions: SwtRenderImpl.fillPolygon and drawline. For rendering one series, it will take 500ms while on swing device it's only 30-40ms. 1289903293203flushbbb 1289903293203bFillPolygon 1289903293375aFillPolygon 1289903293375beforeflushlines 1289903293375bDrawLine 1289903293375aDrawLine 1289903293375bDrawLine 1289903293390aDrawLine 1289903293390bDrawLine 1289903293390aDrawLine ........ 1289903293734bDrawLine 1289903293734aDrawLine 1289903293734bDrawLine 1289903293734aDrawLine 1289903293734beforeflushmarkers 1289903293734beforeflushlabels The series contains a lot of line so drawline will be invoked many times. Most of the invocations take no time but some of them will take about 15ms. I don't know what cause the difference. Recent result shows that the random drawing is caused by gc. For some specific coordinate value, gc will spend more time to draw it. The following is a part of the test result(separated the calculation from gc's drawline code): 1291192686171-befdrawline 1291192686171-calculate 1291192686171-befgcsdrawline 1291192686171-aftgcsdrawline 434,377,436,80 1291192686171-aftdrawline 1291192686171-befdrawline 1291192686171-calculate 1291192686171-befgcsdrawline 1291192686187-aftgcsdrawline 436,80,438,395 1291192686187-aftdrawline So i don't find any improvement which can enhance the swt's drawing performance. Since there are no obvious performance improvements to be made after investigation, we are canceling this as wont fix. |