Niels_42 wrote:We don't know how large a performance penalty something like Qt would impose. Maybe it's worth it.
I think that until someone goes ahead and runs the tests, showing what a BlenderQT port could do, talking about performance changes in any fashion is moot. I would like to see that test, though.
Would it be fair to say that Blender's GUI performance is mainly critical for a 3d view with a lot of polygons?
Actually no. Blender outpaces Modo and C4D when it comes to interface speed by a large margin, if the recent demos for both of those programs are any indication. Try reshaping the UI in Modo on a G4 and you'll be begging for Blender's responsiveness again.
I think you're overstating the added work a bit. If GTK develops nice new features, Blender would probably want to use them, so it's not all bad.
Like what? GHOST already has widgets that have all basic windowing toolkit functionality. Aside from GNOME integration (which is a feature that'd be wanted by a fraction of Linux users, who are in turn a fraction of total Blender users), what benefits would GTK bring to Blender? What features would be worth dropping GHOST, and going through all that work of integrating a new windowing toolkit, instead of just copying the features in GHOST?
If Blender moves to GTK, users will install GTK on their computer, upgrade it rarely, Blender will shrink and everybody's happy. OK, that's oversimplifying things, but I just don't see using a toolkit as all bad and the end of civilization.
It's not, but look at python. It's the largest truly external dependency Blender has, and between versions of it things break. Hell, right now Blender basically has to support three versions of Python (2.3, 2.4, and 2.5) because each version does things a little differently, and you can never be sure what a system has installed. From what I've seen of GTK and how it breaks programs between versions, I don't think introducing that kind of headache into Blender would be in any way an aid to the development cycle. (How many newbie messages are about Python not working?) Also, GTK is, again, not the best as a cross-platform solution. There is no proper Mac GTK port. By changing to it, Blender would either lose support for one OS or have to spend a great deal of time adding to GTK to bring it up to speed with Aqua.
If you can't see any advantages to something like Qt at all, then I suggest that you're not looking at it completely unbiased -- no offense.
The question really isn't one of visible advantages or disadvantages, but of weighing the two against each other. [edit: that was written before stiv posted.] Thus far no one's come up with solid reasons why the advantages outweigh the foreseen difficulties. So how about we be concrete: what problems do you think moving from GHOST to QT would solve, and what problems do you think such a move would introduce?
Here's some benefits off the top of my head for QT, which I may have mentioned above:
- Better international text support.
- Better window support, which could hopefully lead to true dual monitor support. Think of a Blender widget control embedded in a window, and then create two of them. Or more. Non-overlapping GUI design is brilliant, don't get me wrong, but stretching one window across two monitors is a hack.
- A GUI designer whose files could be retargeted.
- HTML help could be added to Blender through QT's HTML rendering widgets.
- Proper OS-level clipboard support.
- A tonne of work retargeting Blender for the system. All GHOST calls would need replacing, and I'm betting most of the screen drawing code would need to be tossed away and rewritten from the ground up.
- Tool shortcuts would be a hard port, although I think that's a part of the new Tools API?
- It's yet another external dependency that needs to be installed.
- A lot of Blender's GUI code would need to be recreated in QT to maintain the look of Blender across systems. That's going to require a lot of extending of widget classes. A *lot* of work.
Did I miss anything? Do the benefits outweigh the downsides?