tag:blogger.com,1999:blog-27901662.post116168118055666114..comments2024-03-08T10:08:22.607+00:00Comments on Zack Rusin: DisappointingZackhttp://www.blogger.com/profile/16222054590923441165noreply@blogger.comBlogger38125tag:blogger.com,1999:blog-27901662.post-1171274297080398222007-02-12T09:58:00.000+00:002007-02-12T09:58:00.000+00:00I'm porting my app, Freecycle (freecycle.redsteamr...I'm porting my app, Freecycle (freecycle.redsteamrecords.com) from Qt3 to Qt4 and I must admit that Qt4 rendering code is fantastic. I'm mainly using QCanvas architecture and what you guys were able to achieve with QGraphicsScene is unbelievable.<BR/><BR/>I have spend MONTHS coding the drawBackground() method in order to display the audio wave in the QCanvas.<BR/><BR/>With Qt4, I really just add millions of GraphicsItems and Qt4 handles all the scaling, zooming etc. Floating point geometry makes thigs so easy comparing to before, where I had to compute roundoff errors in order to display audio amplitudes at correct places!!<BR/><BR/>Thank you very much.<BR/><BR/>Predrag Viceic<BR/>http://freecycle.redsteamrecods.comAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1162853712389710962006-11-06T22:55:00.000+00:002006-11-06T22:55:00.000+00:00zack!Its a blog!And as such it will OF course addi...zack!<BR/>Its a blog!And as such it will OF course addict ALWAYS more negativ response then POSITIVE. Maybe if u would post something like: im giving u money all, freee as much as u want that would change.. may be even there some people would complain. Dont hurt your self too much :)<BR/>IMO ur doing a great job workinon such cool OS technology. <BR/>And ur blog is a nice place to get informed about it . So keep up the good work :)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1162439332379661472006-11-02T03:48:00.000+00:002006-11-02T03:48:00.000+00:00Also, the data set appears to have **4 ** polygons...Also, the data set appears to have **4 ** polygons: the text, a small path, a big path, and a stroked square?Sree Kotayhttps://www.blogger.com/profile/01637645734999157782noreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1162439278716851722006-11-02T03:47:00.000+00:002006-11-02T03:47:00.000+00:00Hmmm - so looking at the two benchmarks, I have t...Hmmm - so looking at the two benchmarks, I have to admit they don't appear apples to apples.<BR/><BR/>It appears in the Cairo case you're allocating and freeing the backbuffer EACH iteration, in addition to drawing, whereas in the QT case, you're just drawing the polygon?<BR/><BR/>Not sure - I'm not that familiar with QT rendering. I just signed up for an evaluation license to see :)<BR/><BR/>That said, very nice of you to release the code and data.Sree Kotayhttps://www.blogger.com/profile/01637645734999157782noreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161956594367422382006-10-27T14:43:00.000+01:002006-10-27T14:43:00.000+01:00Is image performance on X11 going to be improved i...Is image performance on X11 going to be improved in 4.3 as well?<BR/>I am currently playing with Qt 4.2 GraphicsView and on Unix/X11 when moving for<BR/>example a text element over an big image (say 1500x1500 pixels or more) is not very fast. On windows it seems to perfom much better.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161847009526625732006-10-26T08:16:00.000+01:002006-10-26T08:16:00.000+01:00"But it does mean that it's slower. Which, in any ..."But it does mean that it's slower. Which, in any graphics framework, is a bad thing."<BR/><BR/>No. "Being too slow to do X" is bad, "being slower than Y" is not. If you can render an application at 1% CPU usage at 60FPS in one framework and 1% CPU usage at 500FPS in the other, it doesn't mean a thing because noone would ever be able to see the difference.<BR/><BR/>"So code for testing Cairo is offered up anyway. Huh? Either you object to people testing QT by the same code you use, or you don't. This seems really self-contradictory. What makes the QT benchmark code so much more precious than the Cairo one that it must be held and hoarded?"<BR/><BR/>Of course if you actually went to that address you'd see the code for Qt tests, that's been there for a day longer than Cairo code (as date shows)...Zackhttps://www.blogger.com/profile/16222054590923441165noreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161846555591838792006-10-26T08:09:00.000+01:002006-10-26T08:09:00.000+01:00"Rendering a 100,000-vertex polygon is "representa..."Rendering a 100,000-vertex polygon is "representative"?"<BR/><BR/>For someone who claims to do graphics, that's a pretty ignorant statemant to make. That polygon is a wonderful testcase to see the actual complexity of your algorithms and check whether your algorithms degenerate. That's the purpose of the testcase, not comparing the actual perforamnce. All of that should be pretty clear from the charts, especially given that I emphasized what testcase is doing what. I mean, if you didn't feel like even reading my blog carefully then why would you even try to comment? (of course, I appreciate the comments, just try to actually read the blog in reference before doing so)Zackhttps://www.blogger.com/profile/16222054590923441165noreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161807544618544242006-10-25T21:19:00.000+01:002006-10-25T21:19:00.000+01:00Strange that so many people get so agitated just b...Strange that so many people get so agitated just because of this benchmark. So Cairo is not as fast as QT? So what!? This just proves that the programmers at Trolltech are doing a very good job and that there is a lot of room to improve for Cairo.<BR/>Since I mostly use GTK+ applications this is great news for me; my desktop may even get <I>much</I> better!<BR/><BR/>I don't think that any of the Cairo developers feels offended by the benchmark. So why do the users feel the urge to behave so unrational?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161804929483518372006-10-25T20:35:00.000+01:002006-10-25T20:35:00.000+01:00"What would be the point of me writing a test not ..."What would be the point of me writing a test not representative to anything?"<BR/><BR/>Indeed; that's exactly what's so suspicious. The obvious (and cynical) answer is that you're excited about "Qt's new wicked tessellator" (case in point!) and want to show off what it's best at.<BR/><BR/>"Like I said in the second paragraph the test is completely representative to the things we want to do in Plasma." [sic]<BR/><BR/>Rendering a 100,000-vertex polygon is "representative"?<BR/><BR/>I've been doing graphics for over 10 years and I can count on one *finger* the number of times I've needed to render 100,000-vertex polygons (line map data).<BR/><BR/>I'm all for fast graphics and innovative UIs, but no existing or proposed UI (incl. radical ones like "lowfat") seems to involve rendering *any* 100,000-vertex polygons.<BR/><BR/>It's great that you made this corner-case fast -- congrats! -- but it's still a corner-case.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161802893484938392006-10-25T20:01:00.000+01:002006-10-25T20:01:00.000+01:00Here there is just truth, that is "YOU ROCK"Here there is just truth, that is "YOU ROCK"Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161795109587260792006-10-25T17:51:00.000+01:002006-10-25T17:51:00.000+01:00I like the way you deliver information...Very inte...I like the way you deliver information...<BR/><BR/>Very interesting thing that...<BR/><BR/>Hope Trolltech keep up the good work and doesn`t fall apart one day...Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161757440418527522006-10-25T07:24:00.000+01:002006-10-25T07:24:00.000+01:00Zack:I love QT and KDE, personally, and your work ...Zack:<BR/>I love QT and KDE, personally, and your work on them is amazing. However, parts this particular post comes off as kind of... self-contractadictory. <BR/><BR/>"Let me explain using a simple analogy: when two great soccer teams are playing, lets say Brazil and Italy and Brazil wins 3:0, it doesn't mean that Italy is horrible."<BR/><BR/>This is really a terrible analogy. It begs the question... IS Cairo really a graphics framework capable of competing with QT? With soccer, the teams are mostly equal... they operate by the same rules, have the same goals, etc. But my understanding (which is poor, admittedly) is that Cairo and QT are two very different graphics frameworks. It's more like there is a soccer and a kickball team playing. They still do basically the same thing (kick spheres around into goals), but the rules they abide by and the entirety of the organization is entirely different.<BR/><BR/>"One graphics framework being better at something doesn't imply anything negative about the other."<BR/><BR/>But it does mean that it's slower. Which, in any graphics framework, is a bad thing. Which means that it DOES imply something negative about the framework. This may not matter much (GDI -- ugh -- is fast enough for a lot of applications, for instance), but it most certainly does imply a negative.<BR/><BR/>"Q: You will not repeat the benchmarks when Cairo or something else is faster!"<BR/><BR/>Then<BR/><BR/>"Q: But what if something else would be faster than Qt? Would you post results then?<BR/>A: Well, I don't exhibit self-destructive behaviour so no, of course not."<BR/><BR/>So the first question is entirely correct. You admit that you wouldn't post stats that would show another graphics library being faster than QT. It's for a good reason (it's better to spend time improving things than producing useless reams of data), but people do have a point here. Of course, if they don't like it they can (like you suggest) produce their own tests.<BR/><BR/>"Q: Give me the code?<BR/>A: Why? I gave you the dataset and I told you what to test. If you question my results, go write an application rendering polygons and see for yourself. It's an absolutely trivial operation. If you can't do that then what's the point of you fetching my code?"<BR/><BR/>This seems a snotty response, honestly. One of the foundations of science is repeatable results with the same setup and data. Sure they COULD write their own code, but that would mean they couldn't be sure that the same code paths are excerisized. It would be like not providing a methodology document in a scientific paper... there's no way to check the experiment on its own terms. Sure, one could take the hypothesis and write a new experiment to test it, but with different methodology different errors will creep in, making improvement and refinement in the test difficult if not impossible.<BR/><BR/>And then: "The code for Cairo benchmark is at http://ktown.kde.org/~zrusin/examples/cairorender.tar.bz2"<BR/><BR/>So code for testing Cairo is offered up anyway. Huh? Either you object to people testing QT by the same code you use, or you don't. This seems really self-contradictory. What makes the QT benchmark code so much more precious than the Cairo one that it must be held and hoarded?<BR/><BR/>Besides which, one of the best ways to learn to use code is by example. Your code would probably be the best, most up-to-date examples for QT.<BR/><BR/>Other than these spots, though, the responses to rather flameworthy questions were sensible. Once again, you're doing great work so please don't take this as anything other than friendly critique of your non-code writing. :)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161741954689263712006-10-25T03:05:00.000+01:002006-10-25T03:05:00.000+01:00If anyone takes those benchmarks as anything other...If anyone takes those benchmarks as anything other than an opportunity to make Cairo and others faster, they're just not going to get it.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161724177191322432006-10-24T22:09:00.000+01:002006-10-24T22:09:00.000+01:00Anonymous said: "thats it counter productive for f...Anonymous said: <BR/>"thats it counter productive for free software to compete when it makes more sense to cooperate"<BR/><BR/>Um, this code is Open Source under the GPL, so the Cairo guys are free to have a look see how Zack and the Assassins pulled it off and use their methods (if not the code, Cairo is LGPL I believe?). <BR/><BR/>I fail to see how the two wildly disparate toolkits (C vs C++, Qt vs Gtk, Glib vs Qt, etc) could do more co-operation then they have now with the free exchange of ideas that goes on at a personal level (you can see the same thing with the GEGL and Krita guys). These guys know how hard this stuff really is, and I see a lot of mutual respect and communication going on that the fanbois out there completely miss.<BR/><BR/>And we're humans after all, competition spurs us on to do better, which is what Zack talks about here.<BR/><BR/>Zack, dude, you rock, as does your work. I've seen a couple of projects now dump all their own hand-rolled canvas/vector code for your high-performance stuff and the developers are loving it as they can focus on their real task of building great apps without having to figure out all that real hard vector performance stuff. Keep it up.<BR/><BR/>Heh, "Zack and the Assassins", cool band name...<BR/><BR/>P.S. Hey Zack, do we need to organise an emergency care package of organic vege's to be parachuted into Norway for you? :-)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161722136455513612006-10-24T21:35:00.000+01:002006-10-24T21:35:00.000+01:00Seems Aaron wasn't completely right: constructing ...Seems Aaron wasn't completely right: <A HREF="http://aseigo.blogspot.com/2006/10/constructing-criticisms.html" REL="nofollow">constructing criticisms</A><BR/><BR/>I was doing exactly as he suggested: I ignored the negative remarks (difficult, very).<BR/><BR/>But what Aaron (and I) forgot is that sometimes there is someone who is the target of those remarks. At those moments you have to stand up and say something to balance out the negativism.<BR/><BR/>So I join myself to the chorus: nice job Zack! Love reading your blog. It gives me a warm fuzzy feeling knowing that KDE will have all this goodness in the future. (Still looking for that itch to scratch so I can join the KDE developer league, but for now I'm happy to be "just" a user)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161718949951686652006-10-24T20:42:00.000+01:002006-10-24T20:42:00.000+01:00Yo Zack, you do rule! And this if from a gnome/gtk...Yo Zack, you do rule! And this if from a gnome/gtk person :-)<BR/><BR/>What really matters to me is to beat the proprietary guys, so, do you happen to know or have interest in knowing how does qt/arthur stand against java2D and both microsoft's and apple's latest offerings in the area?<BR/><BR/>Thanks for all your work!<BR/><BR/>RuiAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161717621800347642006-10-24T20:20:00.000+01:002006-10-24T20:20:00.000+01:00I love you Zack! Seriously, I love your work and Q...I love you Zack! Seriously, I love your work and Qt. Qt is proven to be a very powerful framework for developer. Those trolls (may I say so?) maybe just came to open source world so they got some culture shock! ;)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161708386288639892006-10-24T17:46:00.000+01:002006-10-24T17:46:00.000+01:00Thank you all very much. Those comments made my da...Thank you all very much. Those comments made my day.Zackhttps://www.blogger.com/profile/16222054590923441165noreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161702986968971192006-10-24T16:16:00.000+01:002006-10-24T16:16:00.000+01:00Zack, the only thing I took from it is that Qt is ...Zack, the only thing I took from it is that Qt is many things without being many things weakly. Generalyl when you touch as many areas as Qt does, its called a platform. Qt is a phenominal platform for business apps, and network apps. But everyone who gets those right generally falls short of graphics capability. What these tests show is that TT nails yet another area. Even if Qt was slower, but only marginally so, I'd still consider Qt a huge success. The fact that even if you cherry picked (or maybe you didn't -- it doesn't matter much) means that at least in some areas Qt is a contender, and that proper emphasis is being put on optimization (maybe not everywhere yet, but it shows it is a goal , and done significantly).<BR/><BR/>In short, I have nothing but wonderful things to say about you, your blog, Qt, and TrollTech. Don't let the nay-sayers detract or distract you from doing more great work.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161700591949934842006-10-24T15:36:00.000+01:002006-10-24T15:36:00.000+01:00This struck me: "I moved half way across the globe...This struck me: <I>"I moved half way across the globe, to a country where I knew I'm going to be hungry all the time"</I><BR/><BR/>I guess that has to be do with you being a veg. Okay let me give a positive swing to this: if you ever happen to be in Holland your invited to a massive vegetarian dinner. Since that is the way I'd like to welcome a <I>"true graphics ninja from the team of Trolltech's Samurai Graphics Assassins"</I> to my country.cieshttps://www.blogger.com/profile/05739629480477020558noreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161699548315201492006-10-24T15:19:00.000+01:002006-10-24T15:19:00.000+01:00Awesome post, Zack. Very nicely worded. I echo y...Awesome post, Zack. Very nicely worded. I echo your thoughts and sentiments exactly.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161696171350510432006-10-24T14:22:00.000+01:002006-10-24T14:22:00.000+01:00Zack, I really enjoy working with the results of y...Zack, I really enjoy working with the results of your efforts, using Qt in my commercial Windows-only program.<BR/><BR/>I can confirm that Qt 'even' outperforms the Windows GDI ;)<BR/><BR/>Great work!<BR/><BR/>(And by the way, I'm just making fun here, I like open source and am even working on it. Doesn't put bread onto the table tho ;)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161693437059669732006-10-24T13:37:00.000+01:002006-10-24T13:37:00.000+01:00Zack, the passion you put in your amazing work is ...Zack, the passion you put in your amazing work is just inspiring. Needless to say, keep rocking!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161692559874873222006-10-24T13:22:00.001+01:002006-10-24T13:22:00.001+01:00Thanks for the benchmarks.QT is really great. It ...Thanks for the benchmarks.<BR/><BR/>QT is really great. It makes the other frameworks catchup.. hopefully.<BR/><BR/>Keep up the good work!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-27901662.post-1161692550919930392006-10-24T13:22:00.000+01:002006-10-24T13:22:00.000+01:00Digg it! http://digg.com/linux_unix/Exciting_V3cto...Digg it! http://digg.com/linux_unix/Exciting_V3ctor_Gr4phics_with_Qt_4_3Anonymousnoreply@blogger.com