I read the article and I read through all 30+ pages of the arguing back and forth and I have to say.. I agree Mono should be used.
In fact, I'm thinking about using it instead of Qt. , I have found that Qt applications on Windows run slowly because they are using a "Raster" renderer, so when you run them on a very high resolution display (say, 1920x1080 or higher) the redraw speed of a Qt application with tons of widgets is very slow (ie: Almost "Java" slow). This is on a system with dual GTX 470 water cooled graphics cards. Just try for yourself running an application like Amarok on Windows 7, the graphical user interface is a little sluggish and heavily stresses a 6-Core Phenom II CPU with all the rastering work. I've tried forcing "OpenGL" graphics systems mode for Qt in Windows, but it just crashes, forcing OpenGL rendering doesn't seem to work in Linux either.
It appears when Qt applications run on linux they get the benefit of some 2D accelerations that they don't get under Windows. I don't know, but it's something that is driving me up the wall, and making me consider not using Qt for application development. I'm leaning towards something that can make use of DirectDraw / 2D Acceleration on Windows while also making use of 2D accelerations on Linux, so I think Mono is the way to go there, but I really don't know for sure.
For some reason, a while back, some Qt Developers promised DirectDraw / 2D Accelerated rendering of Qt applications on Windows but apparently it never became stable so it just isn't used yet. The only choices Qt gives me on Windows is "Raster" or "CRASH!".
I'm sticking to using C++/C#, but seeing 98% of the application's CPU usage get sucked down because of 2D graphics work being done on the CPU (in Windows) is discouraging. Shame on you Qt! It's clear Qt favors Linux, how can it really be considered cross-platform when they half-ass the support for other platforms??. I'll definitely give Mono a try.
Last edited by Sidicas; 09-26-2012 at 07:19 AM.
Hate to quote myself, but I can't edit my post anymore...
"Double the size of the primitive in each direction and you have one quarter the performance. "
"if you compare the N900 to the desktop Windows machine you see that despite windows only having a 4 times faster processor the speed is often around 10 times worse. "
Yes, with a 4 times faster processor your Qt applications run 10x slower! That's not platform favoritism at all, is it? /sarcasm.
I just wish that a Qt developer wrote somewhere that Qt simply sucks on Windows and I wouldn't have even bothered to try it as a cross platform solution. So yes, Mono here I come. I saw this thread already was a ranting thread so I might as well put my 2 cents in as well.
Last edited by Sidicas; 09-26-2012 at 07:59 AM.
Being said that, Gtk# on Windows has the same problems as you described with Qt, but the fault is not on the # side, but on Gtk+ side: GDK APIs and Cairo APIs are translated via GDI+, and Cairo painting is painfully slow because of this translation (yet is a bit faster than Qt). So C/C++ side is slow, because doesn't take advantage of the underlying hardware. For this reason, Mono applications can be abstracted easier based on underlying hardware, and a lot of ways to do it, and this is the Mono's way to do this.
One last part which I appreciate in your comment is that what's matter for user is the overall experience, and this can be provided given the tools in a lot of other languages/platforms. Users don't care that is written in "optimized C++" if is that sluggish, but they will ditch the application and will use one that looks just nice, and runs fast enough in Adobe AIR or in .Net
We need the certainty that Microsoft will not try to harm Mono in any way.
Last edited by Jam66es; 09-26-2012 at 08:53 AM.
I think Microsoft is content to have a Linux version available
(Jam66es is an automated spambot; ignore)
I think if you're using KDE you should remove it right away:.Code:apt-get remove libqt4-core
Try XFCE or directly X11: is much safer!