User forums > General (but related to Code::Blocks)
Gtkmm
takeshimiya:
This applies to gtk2+ on every platform as well :), but gtkmm is like 10x slower than gtk2+.
Perhaps the latest release of gtk2+ 2.8 paints a little faster thanks to the cairo graphics library being the backend.
But anyways, they doesn't suffer slowness on paint events only...
When I compared speeds of different toolkits I almost laught, and to compare well you have to do in a old hardware:
CPU: Pentium 133, RAM: 64mb, OS: win9x is the one I used
Compile the samples of the toolkits, and run them:
Startup time of the compiled exe:
-gtkmm: 15~20 seconds
-wx: 1 second
-mfc: 1 second
-fltk: 1 second
And the responsiveness! :shock: The others behaves very well (except for the wx combo box when haves lots of elements, and some minor problems of minor cases)
but gtkmm is almost unuseable, when you do a click, everything is so sloooow.
phlox81:
--- Quote from: takeshimiya on September 12, 2005, 08:55:37 am ---A side note that doesn't contribute anything :P:
The GtkMM is the worst gui toolkit I ever saw.
The code & internal design seems good, but the implementation is the worst and slower, it's perhaps slower than Java's SWT.
So I wouldn't recommend it to anyone.
--- End quote ---
You talk about GTK or GTKmm ?
GTKmm in my opinion has the BEST C++ Gui Design,
which is around by now. No Macros, just straight
and beautiful OO with C++. Actualy its a pretty good
wrapper around a really wired GUI Toolkit.
phlox
zieQ:
You could then have a look to QT which is IMHO the most Object Oriented GUI Toolkit. No macros either but a meta object compiler to add missing C++ langage features ;) (e.g. features from other OO langages such as smalltalk)
My opinion about gtk/gtkmm, too buggy, not really portable (different platforms maintained separatly IIRC), don't know about speed but both previous arguments are too much to deal with :P
takeshimiya:
--- Quote from: phlox81 on September 12, 2005, 05:48:42 pm ---No Macros, just straight and beautiful OO with C++. Actualy its a pretty good
wrapper around a really wired GUI Toolkit.
phlox
--- End quote ---
That's why I said that the design & code of GTKmm are very good, I used it some time ago, and I used to think that the design was very good, using all the advanced topics of C++, more after trying GTK+ in plain C, which is a pain for those who don't like C.
Everything good, until you use that -almost perfect and mature design- in the real world...
The win32 port isn't very good, I've spent days trying to compile the gtkmm's glade.
I think I've said enough about the usability and speed of the toolkit.
But I had to thank one thing to GTKmm, because it was so slow, I begin to search for a lightweight C++ GUI toolkit.
And then, I found FLTK. It's very amazing, because the design is very clean and C++ mature, with namespaces and all. And guess what, it's fast and the minimal example statically linked weights less than 100k. And the example containing all FLTK widgets weights 500k. You don't find that on any other toolkit.
But soon after I started using it, I noticed it lacked some functionality, Unicode support (a must), some important widgets, etc. And the comunity of FLTK is very small, with the project maintained with 1 or 2 persons.
And then, I found another GUI toolkit, called wxWindows.
At first I didn't liked (unlike the others 2), because the design seemed to be rather old C++ (without namespaces, without using the STL, using MFC like macros, etc).
But after trying to convince myself to look around it, I found it wasn't bad... and it was fast! And the design wasn't bad after all, using inheritance, and very good coded and commented.
Then I discovered that it used native widgets, looking almost the same as an MFC app in win32, a GTK+ app in linux, a Cocoa app in MacOS X, etc.
Later I found that feature to be VERY important if you care about cross-platform.
Well, I started using it, and I'm using it till now, and found it to be the best real world toolkit.
And the downsides I found at start (without using the STL, macros, etc), it was because wx is really cross-platform, and to support a wide range of compilers and platforms, they had to choose not so advanced features of C++. That counts for the wxWidgets 2.x version.
The wxWidgets 3 will use full STL compatibility, and more advances features of C++, etc. (see the wx roadmap for more info)
That's my simplified and reduced history for a search of a GUI crossplatform toolkit where I feel comfortable. :P
rickg22:
The point of wxWidgets is PRECISELY that their processing is done using macros, so the configurations etc are calculated at COMPILE time, as opposed to runtime with other toolkits. This is what makes it so fast.
Of course, we have to trade efficiency for prettiness, but oh well.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version