EXA performance problem
bartoschek at or.uni-bonn.de
Sun Nov 27 12:37:39 PST 2011
Am 27.11.2011 16:31, schrieb Chris Wilson:
> On Sun, 27 Nov 2011 15:55:12 +0100, Christoph Bartoschek<bartoschek at or.uni-bonn.de> wrote:
>> I still have a huge performance problem with Xorg. One application that
>> painted 2 Mio rectangles on the screen within a second or so with
>> XFree86 needs about a minute with Xorg.
> The easiest way for anyone else to reproduce this issue would be if you
> were to identify the most common slow op and translate that into the
> appropriate x11perf command line.
Do you have any hints on how to find this op?
I've traced the calls to pixman_raster_op and see that it works most of
the time on tiny rectangles of 1x1 pixels or so.
I see two types of operations that are performed:
1. there are lots of region unions. Each operation just adds a tiny (X,
X+1) x (Y, Y+1) rectangle to the previous region. Isn't it possible to
perform all unions at one time?
2. A subtraction and intersection operation are alternating. First a
rectangle is removed from the whole window. (It is always the same
rectangle). Then the result is intersected with the union that is the
result of the first type of operations. Both calls are alternated
several hundred times and I do not see that the operands change.
More information about the xorg