Project

General

Profile

Enhancement #8

Avoid repainting the whole screen

Added by Arnaud Fontaine over 8 years ago. Updated almost 7 years ago.

Status:
Closed
Priority:
High
Category:
Core
Target version:
Start date:
02/11/2010
Due date:
% Done:

100%


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

Revision e1cacdd6 (diff)
Added by Arnaud Fontaine almost 7 years ago

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.

History

#1 Updated by Arnaud Fontaine over 8 years ago

  • Target version set to 0.2
  • Target version set to 0.2

#2 Updated by Arnaud Fontaine over 8 years ago

  • Category set to Core
  • Category set to Core

#3 Updated by Arnaud Fontaine almost 7 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

Also available in: Atom PDF