Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Qt QML application on IOS working slow, JIT is disabled

I'm developping QML based application for iPhone, working on macbook IOS 11 (Sierra). I Use Qt 5.9.1 build, with the latest version of xCode. Everything is working fine, but in "Application output" there is warning " 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." I tried to enable JIT by editing qv4global_p.h file, as described on the web-page above, but it didn't help. I use IOS simulator (iPhones 6,7 with IOS 11.0) for debugging and testing, and animation effects (such as transitions, opacity changes, buttons clicks) are really slow and lagging, witn messages about manual update for qml objects in output console, something like "doing manual update..". I haven't iPhone, so I cant check if there is the same problem on real device, but it seems to be so, as I've read in simillar topics, and I didnt find any information.

So, is there any solution of this problem, how to get fluent, correct behavior of qml controls on IOS? Maybe Qt Quick Compiler with commercial license can help to solve this issue? Please help , really stuck here..

like image 215
Алексей Юхин Avatar asked Oct 12 '17 18:10

Алексей Юхин


2 Answers

You can't enable JIT on your qv4global_p.h, if you do that, you can compile and run your application on your device plugged to your mac, but when you unplugged it, you app will stop and don't run anymore, the problem come from Apple,

3.3.2 An Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded. The only exception to the foregoing is scripts and code downloaded and run by Apple's built-in WebKit framework.

Try the trial version of Qt commercial licence and test your app. In my case, after some test I have built my app in objectivC

like image 149
Bastien Thonnat Avatar answered Oct 27 '22 00:10

Bastien Thonnat


in ios you can't use JIT compiler, but you can try ahead of time compiler:

http://doc.qt.io/qt-5/qtquick-deployment.html#qml-caching-for-deployment-preview

like image 2
Miguel Angel Pons Avatar answered Oct 26 '22 23:10

Miguel Angel Pons