Re: EXA performance problem | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
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 damagePolyFillRectangleThe 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]