top | item 10966467

(no title)

tenfingers | 10 years ago

I wished Qt just split into a different widget set for mobile. The interaction behavior is significantly different that attempting to reuse the same UI for both mobile and desktop will result in a terrible experience on both.

Likewise, QML is just plainly useless on the desktop, and much slower to booth. Unfortunately, the performance regression in Qt5 is there also if you don't use it, and that shouldn't be.

Qt5 being slower than Qt4 is the main reason I've been moving slowly towards copperspice (http://www.copperspice.com/) for newer projects. The fact that moc is no longer necessary removes also the main paint point of qt.

discuss

order

slavik81|10 years ago

I found QML items to be very useful on the desktop. Unlike the old widgets, they can easily be overlayed over an OpenGL scene. That makes them a great choice for a whole swath of software.

zanny|10 years ago

I'm definitely intending to try writing a Doom clone when 5.7 comes out - thats when the QML Compiler is open sourced, and thats the first iteration after Qt3D is API stable, so it should be fun to work with.

I'm just curious of how much force multiplier you can get writing the menus with QML and the game with Qt3d.

CarVac|10 years ago

How exactly is QML and Qt5 slower? It's quick to start and UI actions are immediate and smooth.

Forgive me for not knowing, since I've never used Qt Widgets before. I'm writing a desktop app with QML and it's fast and smooth thanks to the OpenGL acceleration.

tenfingers|10 years ago

If you have a classical desktop interface where you reach 100+ widgets (which sounds like a lot but is easily reachable with just a toolbar, some buttons and a form), the difference is noticeable when interacting even on recent hardware (i5+).

For example, since I work in visualization, I often tie data widgets to the GL canvas in order to provide realtime feedback. I also use Qt5 in order to provide keyboard accelerators. With QT5 the rendering latency grew so high that I couldn't provide realtime feedback anymore, and I had to batch requests (and finally reverted to Qt4).

Incidentally Qt5 widgets can be used in a GL context directly, but are way too slow to render and manage events to be used consistently at 60 fps (they're not designed for that, so their scope in this sense is not as broad as it can really be). It's actually faster to give them their own GL context in order not to interfere with your pipeline, which kinds-of defeat the point.

I've also found that the additional JS glue doesn't provide any benefit unless you go entirely QML.

IshKebab|10 years ago

CopperSpice looks interesting, though is it really a clean-room reimplementation?

Also why on earth do they tout being built with autotools as a feature?!

tenfingers|10 years ago

Read their own introduction page. CopperSpice is a fork of Qt4.