Google
  Web www.spinics.net

Re: EXA performance problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


I have new information. I am no longer sure whether it is a problem with EXA.

I have a testcase that currently takes 90 seconds to draw all rectangles. I see that in damage.c two functions are mainly used:

damagePolyRectangle
damagePolyFillRectangle

The first function calls for each given rectangle up to four times damageDamageBox (pDrawable, &box, pGC->subWindowMode);
which adds the box to a region. The function then calls damageRegionAppend.

This part takes in sum 30 seconds of my testcase. I think the code has quadratic behaviour here becuase it adds rectangle by rectangle instead of first adding them to a region and then calling damageRegionAppend. I think removing the quadratic behaviour can reduce the runtime significantly.

About 60 seconds are spent in the calls

(*pGC->ops->PolyRectangle)(pDrawable, pGC, nRects, pRects);
(*pGC->ops->PolyFillRect)(pDrawable, pGC, nRects, pRects);

However I do not yet know why they are so slow.

Is damage.c part of EXA?

Christoph
_______________________________________________
xorg@xxxxxxxxxxxxxxxxxxxxx: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: list-xorg@xxxxxxxxxxx


[X Forum]     [Nouveau Driver]     [Devices]     [XFree86]     [XFree86 Newbie]     [Site Home]     [IETF Annouce]     [Security]     [Fontconfig]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Video for Linux]     [Linux RAID]     [Linux Resources]

Powered by Linux