Qt 5.8.0 beta JIT on Win 10 IoT Core
i tested the new Qt 5.8.0 beta for WinRT MSVC 2015 on my raspi with Win 10 IoT Core.
I've tried the QtQuickControls2 gallery example. I can compile and start the example but, the controls are very slow.
When i start the app on the raspi i got this message:
JIT is disabled for QML. Property bindings and animations will be very slow. Visit https://wiki.qt.io/V4 to learn about possible solutions for your platform.
So i went to https://wiki.qt.io/V4 and read the article.
In the qv4global_p.h file, i see that the
thumbdefinitions are not defined and so neither
... #elif defined(Q_PROCESSOR_ARM_32) // <-- definied # if defined(thumb2) || defined(__thumb2__) || ((defined(__thumb) || defined(__thumb__)) && __TARGET_ARCH_THUMB-0 == 4) // <-- nothing defined # define V4_ENABLE_JIT # elif defined(__ARM_ARCH_ISA_THUMB) && __ARM_ARCH_ISA_THUMB == 2 // clang 3.5 and later will set this if the core supports the Thumb-2 ISA. # define V4_ENABLE_JIT # endif ...
I'm not quite sure if this is the mistake. I've tried to enable thumb (https://msdn.microsoft.com/en-us/library/gg155717(v=winembedded.70).aspx) in the solution properties, but i don't where and how.
but i don't where and how.
i guess it has to be placed in the compiler flags. You need to rebuild Qt to make this fix apply. (At least the affected module)
The Jitter is not supported on ARM in general unfortunately. This is not Qt's fault. There is no public API to flush the cachelines for ARM, hence JIT cannot be functional.
For "very simple" projects there is a WIP https://codereview.qt-project.org/#/c/163282/ but it will fail as your project gets bigger. Hence use this link rather as a reference on progress.
On a general note, the Raspberry Pi performance is really bad, as there is no graphics driver for that device available for Win10 Iot. I've been playing with the Dragonboard here, and that one performs way better.
Generally we also wanted to look into the latest software renderer for Qt Quick, as that one has partial updates, which might help with the situation.