我在项目的资源文件中添加了一些图标,突然对QML代码的每一个微小变化都会导致项目运行前7-8秒的等待时间,这几乎感觉就像重新编译C ++代码一样,但实际上这是qrc文件“编译”的延迟。
我尝试禁用qrc压缩,希望它会变得更快,但它没有任何效果。考虑到我使用的是具有快速CPU和SSD的高端系统,这是非常奇怪和烦人的 - 额外的资源只有2兆字节,为什么需要这么长时间?将相同的文件添加到具有高压缩的存档大约需要5毫秒。
答案 0 :(得分:6)
好的,仍然不知道为什么它如此缓慢,但我找到了避免它的方法。
问题是,对于QML源的每一个微小变化,整个资源文件都被重新编译。所以我将所有图像移动到另一个资源文件,没有做任何其他事情,不需要更改路径或任何东西,现在QML代码在不同的资源文件中,并且每次更改时都不再重新编译带有图像的文件,所以项目即刻启动。
答案 1 :(得分:0)
Qt的资源系统将创建一个.cpp文件,该文件将包含您放在那里的文件的压缩二进制数据的C ++数组,因此有2MB图像+一个qml文本文件,qrc必须重新生成一个非常大的文件,也需要时间来编译。
更多信息here