tag:blogger.com,1999:blog-7523589.post8050037919402587930..comments2024-02-20T19:17:55.835+01:00Comments on TSDgeos' blog: Is the X11 engine slower than raster just because of the drivers?Albert Astals Cidhttp://www.blogger.com/profile/12001470108926138921noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-7523589.post-4475365534482141732009-12-21T15:12:17.756+01:002009-12-21T15:12:17.756+01:00Cool article as for me. It would be great to read ...Cool article as for me. It would be great to read a bit more concerning that theme. Thank you for sharing this information.<br />Sexy Lady<br /><a href="http://www.secret-agent.co.uk/busty_escorts_london.html" rel="nofollow">Busty escort London</a>Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7523589.post-1741549504512284532009-08-14T15:37:50.973+02:002009-08-14T15:37:50.973+02:00@Panagiotis: I have a very simple test case with a...@Panagiotis: I have a very simple test case with a straight line with 167 dashes that calls 27889 times rect_intersectsAlbert Astals Cidhttps://www.blogger.com/profile/12001470108926138921noreply@blogger.comtag:blogger.com,1999:blog-7523589.post-75182685793367239792009-08-14T12:45:29.514+02:002009-08-14T12:45:29.514+02:00Yes, but what about
if (subpaths.at(j).size() <...Yes, but what about<br /><br />if (subpaths.at(j).size() <= 2)<br /> continue;<br /><br />P.S.<br />Haven't look the code though...Panagiotis Papadakoshttps://www.blogger.com/profile/14840033162935430657noreply@blogger.comtag:blogger.com,1999:blog-7523589.post-73089801852451165652009-08-14T12:25:22.051+02:002009-08-14T12:25:22.051+02:00Yeah. The code is O(n²). However I wonder why ther...Yeah. The code is O(n²). However I wonder why there is the slight asymmetry. It can happen that isects[j] contains i but isects[i] does not contain j.Christophhttps://www.blogger.com/profile/08068104059979572841noreply@blogger.comtag:blogger.com,1999:blog-7523589.post-43854022379561288982009-08-14T11:43:24.827+02:002009-08-14T11:43:24.827+02:00The fact that it can be done in nlogn doesn't ...The fact that it can be done in nlogn doesn't mean they do it, you can see clearly here that it loops twice for count (number of dashes)<br /><br />for (int j=0; j<count; ++j) {<br /> if (subpaths.at(j).size() <= 2)<br /> continue;<br /> QRectF cbounds = bounds.at(j);<br /> for (int i=0; i<count; ++i) {<br /> if (rect_intersects(cbounds, bounds.at(i))) {<br /> isects[j] << i;<br /> }<br /> }<br />}Albert Astals Cidhttps://www.blogger.com/profile/12001470108926138921noreply@blogger.comtag:blogger.com,1999:blog-7523589.post-1346489184868551742009-08-14T11:26:54.342+02:002009-08-14T11:26:54.342+02:00I don't know about XRender code, but your stat...I don't know about XRender code, but your statement<br /><br />"which Qt tries to detect for each dash of the line which other dashes intersect with it, that's right a O(n^2) calculation"<br /><br />is just plain wrong. You can easily detect intersections in O(n * log n).Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7523589.post-23028047328284710602009-08-14T10:21:10.331+02:002009-08-14T10:21:10.331+02:00@anon: KSquares in some cases draws around 80 line...@anon: KSquares in some cases draws around 80 lines with n = 3600 so it's quite big.<br /><br />@med and he told me i'm wrong that it's O(nlogn) and no, i'm not wrong<br /><br />@Christoph QPainterPath::toFillPolygons function, the code below // find all intersectionsAlbert Astals Cidhttps://www.blogger.com/profile/12001470108926138921noreply@blogger.comtag:blogger.com,1999:blog-7523589.post-202779375122719472009-08-14T09:47:19.377+02:002009-08-14T09:47:19.377+02:00Where can we find the function that takes O(n²) ru...Where can we find the function that takes O(n²) runtime?Christophhttps://www.blogger.com/profile/08068104059979572841noreply@blogger.comtag:blogger.com,1999:blog-7523589.post-27806725300642664572009-08-14T04:49:57.775+02:002009-08-14T04:49:57.775+02:00Zack has posted an interested explanation why ther...Zack has posted an interested explanation why there are the way they are and not the way they should be: http://zrusin.blogspot.com/2009/08/2d-in-kde.html .Mednoreply@blogger.comtag:blogger.com,1999:blog-7523589.post-20854528636582848222009-08-14T04:02:44.697+02:002009-08-14T04:02:44.697+02:00But how does this explain the shitty performance o...But how does this explain the shitty performance of other toolkits on X11? (since GTK doesn't have it's own internal rasterizer, try windows vs. x11 instead, maybe?)<br /><br />Also, how large n's are we talking about? (n = dashes?)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7523589.post-81853528898649655102009-08-13T23:29:33.854+02:002009-08-13T23:29:33.854+02:00Ciao Albert,
Don't really know. Just today I ...Ciao Albert,<br /><br />Don't really know. Just today I tested FotoWall with Raster and with a crowded workspace the speedup is like 4x times the X11 version.<br /><br />I'd like to know the answer to this question too ;-)Enrico Roshttps://www.blogger.com/profile/10474324679416549831noreply@blogger.comtag:blogger.com,1999:blog-7523589.post-75166836780651066162009-08-13T23:08:05.418+02:002009-08-13T23:08:05.418+02:00oh how nice would it be if somebody fixes that :-)...oh how nice would it be if somebody fixes that :-) graphics rendering and X11 code sounds still to voodoo black magic stuff to me to look at it..<br /><br />And yes, the X11 performance is simply horrible (try to make an animated wallpaper and look how many frames you can get by drawing a fullscreen qpixmap.. not enough, and even if you get near a acceptable framerate, you kill the cpu, might not be related, but nonetheless, not fun)Anonymousnoreply@blogger.com