Enhancement #8
Avoid repainting the whole screen
Start date:
02/11/2010
Due date:
% Done:
100%
Estimated time:
Description
At the moment, the whole screen is repainted each time a window is modified, which is a huge performance bottleneck. It would be better to repaint only the damaged area.
Associated revisions
History
Updated by Arnaud Fontaine almost 11 years ago
- Target version set to 0.2
- Target version set to 0.2
Updated by Arnaud Fontaine over 9 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
Applied in changeset e1cacdd62bc3880ba9cda9c580c374f29e37117a.
Repaint only the damaged area, not the whole screen (closes #8).
This obviously improves dramatically the performances. For example, results
for displaying a single window before:
Painting time in ms (#1): 785, min=785, max=785, average=785 (/- 0.0)
Painting time in ms (#2): 1938, min=785, max=1938, average=1361 (/- 576.7)
Painting time in ms (#3): 1734, min=785, max=1938, average=1485 (/- 502.7)
Painting time in ms (#4): 900, min=785, max=1938, average=1339 (/- 503.6)
And now:
Painting time in ms (#1): 103, min=103, max=103, average=103 (/- 0.0)
Painting time in ms (#2): 127, min=103, max=127, average=115 (/- 12.0)
Painting time in ms (#3): 654, min=103, max=654, average=294 (/- 254.5)
Painting time in ms (#4): 421, min=103, max=654, average=326 (/- 227.2)
Painting time in ms (#5): 76, min=76, max=654, average=276 (+/- 226.3)
There may be still a few remaining glitches to fix though due to the fact that
we clip the region to be painted according to the damaged area, thus some code
may have been working wrongly in the past.