ios - IOS 上的 Qt QML 应用程序运行缓慢,JIT 被禁用

标签 ios performance qt qml jit

我正在为 iPhone 开发基于 QML 的应用程序,在 macbook IOS 11 (Sierra) 上工作。我使用 Qt 5.9.1 构建,以及最新版本的 xCode。一切正常,但在“应用程序输出”中有警告 “QML 禁用了 JIT。属性绑定(bind)和动画会非常慢。请访问 https://wiki.qt.io/V4 了解适用于您的平台的可能解决方案。” 我试图通过编辑 qv4global_p.h 文件来启用 JIT,如上面的网页所述,但它没有帮助。 我使用 IOS 模拟器(带有 IOS 11.0 的 iPhone 6,7)进行调试和测试,动画效果(例如过渡、不透明度变化、按钮点击)非常缓慢且滞后,输出控制台中有关于 qml 对象手动更新的消息,类似“正在进行手动更新..”。我没有 iPhone,所以我无法检查在真实设备上是否存在同样的问题,但似乎是这样,因为我阅读了类似的主题,但我没有找到任何信息。

那么,这个问题有没有解决方案,如何在 IOS 上获得流畅、正确的 qml 控件行为?也许具有商业许可证的 Qt Quick Compiler 可以帮助解决这个问题?请帮忙,真的卡在这里..

最佳答案

您不能在您的 qv4global_p.h 上启用 JIT,如果您这样做,您可以在插入 mac 的设备上编译和运行您的应用程序,但是当您拔掉它时,您的应用程序将停止并且不会运行不再,问题来自苹果,

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.

试用 Qt 商业许可证的试用版并测试您的应用程序。 就我而言,经过一些测试后,我在 objectivC 中构建了我的应用程序

关于ios - IOS 上的 Qt QML 应用程序运行缓慢,JIT 被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46716957/

相关文章:

在两个屏幕上运行的 iOS 应用程序(无镜像)

ios - 为 WKWebkitView 运行 localhost

sql - 全部删除/批量插入

c++ - Qt 中的 "Using OS scope before setting MAKEFILE_GENERATOR"

c++ - 如何从 QProcess 获取错误代码?

c++ - 使用 QMetaType 的反射(按名称实例化类)

iphone - 对象的潜在泄漏-Xcode-iOS5

ios - Swift:如何从 TableView 中删除重复项?

c# - 编译器是否优化了重复的相同检查

iphone - 使用 Instruments 对性能进行基准测试