Bug 72015

Summary: [implementation] reduce posted repaint runnables
Product: [Eclipse Project] Platform Reporter: Tom Hofmann <eclipse>
Component: TextAssignee: Platform-Text-Inbox <platform-text-inbox>
Status: ASSIGNED --- QA Contact:
Severity: normal    
Priority: P3 CC: daniel_megert, Mike_Wilson, Tod_Creasey
Version: 3.0Keywords: performance
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:

Description Tom Hofmann CLA 2004-08-16 07:15:56 EDT
3.0 M1

In some situations, the Display runnable queue can get floaded by posted redraw
Runnables from various editor UI elements. Typical situations are large
(possibly automated) updates of text documents such as 'replace all' and 'format'.

Typically rulers and painters detect they need redrawing upon receiving an event
(AnnotationModelEvent, TextChange) and post a runnable. There is no check done
for whether there already is a pending redraw request in the queue which has not
been executed yet.

We have put it code to avoid this in LineNumberRulerColumn. Similar checking
should go into the following classes:

- ChangeRulerColumn
- OverviewRuler
- AnnotationRulerColumn
- PaintManager
Comment 1 Tod Creasey CLA 2005-03-07 11:57:29 EST
Adding my name to the cc list as we are now tracking performance issues more
closely. Please remove the performance keyword if this is not a performance bug.
Comment 2 Mike Wilson CLA 2005-04-25 11:01:00 EDT
Have the other places where anti-flooding code should be added been fixed?
Comment 3 Dani Megert CLA 2005-04-25 11:33:35 EDT
The bug is still open ;-)  [and I've just checked the code].
Comment 4 Dani Megert CLA 2006-11-10 10:25:40 EST
Done for OverviewRuler.
Comment 5 Eclipse Webmaster CLA 2019-09-06 15:30:53 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.