On Mon, Nov 28, 2011 at 7:43 AM, Maarten Maathuis <madman2...@gmail.com> wrote: > On Mon, Nov 28, 2011 at 2:41 AM, Christoph Bartoschek > <bartosc...@or.uni-bonn.de> wrote: >> 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@lists.freedesktop.org: X.Org support >> Archives: http://lists.freedesktop.org/archives/xorg >> Info: http://lists.freedesktop.org/mailman/listinfo/xorg >> Your subscription address: madman2...@gmail.com >> > > No, damage is an extention, it is called by EXA, it's probably adding > all you rectangles to a damage region used to determine how much data > is actually valid (needed for ram<-->vram migrations for example). > > One thing that just comes to mind, if you are rendering a million > rectangles, how many of those do you actually see on your screen? > > Anyway, you can try optimizing damaga, exa and either fb or mi (for > PolyRectangle PolyFillRect software ops). I don't know how efficient > the region code is at reducing the number of rectangles if they > overlap, a region is built up out of rectangles as well. > > -- > Far away from the primal instinct, the song seems to fade away, the > river get wider between your thoughts and the things we do and say. >
s/damaga/damage and s/extention/extension and s/you rectangles/your rectangles It was too early in the morning :-) -- Far away from the primal instinct, the song seems to fade away, the river get wider between your thoughts and the things we do and say. _______________________________________________ xorg@lists.freedesktop.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.freedesktop.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com