4 ms·
On my last project we started an effort to redo our QWidget implemented UI with QML. The QML version was really slow, we actually ended up buying a commercial l
by bwoj 10y ago
On my last project we started an effort to redo our QWidget implemented UI with QML. The QML version was really slow, we actually ended up buying a commercial license to get access to a QML compiler just to speed things up. And that was for desktop, I'd expect it to be even worse for mobile. Integrating the QML components with the QWidget components was especially buggy. For a 100% QML project this would be less of a problem.
Interfacing C++ to QML is clearly not a priority in the design of the whole system. You can do slots/signals or you can register C++ objects into the QML namespace. Something along the lines of this tutorial: http://doc.qt.io/qt-5/qtqml-tutorials-extending-qml-example.html http://doc.qt.io/qt-5/qtqml-tutorials-extending-qml-example....
Overall, I find the whole QML environment to be disappointing and I don't plan to use it again until it becomes more mature.
- laurent123456 10y agoI've ran a few QML tests on Android (reading/writing to/from an SQLite DB, displaying the results in a list, synching with a web API) and it seems reasonably fast. Did you identify something in particular that was making the app slow? Or was it just that the app was particularly complex?
- bwoj 10y agoTo my recollection, the worst performer was parsing all of the QML at startup. This did not impact us at first, but as we grew the QML portion it went from a noticeable delay at startup to an unacceptable delay. It was something on the order of 10-30 seconds (on rather high-powered workstations to boot) to parse all of the QML files for what amounted to less than a dozen UI screens.