Qt:5.8新特性,qmlc使用以及效果
来源:互联网 发布:创意视频制作软件 编辑:程序博客网 时间:2024/05/19 10:09
关于qmlc
5.8在昨天终于发布了,在很艰辛的下载后,终于在今天用上了。
在5.8各个新特性中,我特别看重qmlc这个。
那么qmlc是个什么东西呢,官方的描述是这样的
Implemented caching of code and data structures generated from .qml and .js files to disk, reducing start-up time and memory consumption. The resulting .qmlc and .jsc cache files are memory mapped.
就是说把已经生成好的内存结构体放在了本地,以加速下次加载。
也就是说,是用来缩减编译时间的。
注意不要被迷惑了,这里讲的代码和结构 code and data structures
,特指编译时的产物,开发的时候是不能直接接触的。
而关于编译时间,经常使用profiler的朋友应该也应该会注意到,对于QtQuick程序的加载,编译是一个非常耗时的开销,巴不得去掉它。
以前有Quick编译器,但是只有企业版有,开源版只能望尘莫及。
但是现在5.8,官方拿出了qmlc,还是说非常有诚意的。让开源版的小伙伴们也能体验到快速加载。
使用qmlc
其实在安装完qmlc后,我还在想要怎么使用。不过偶然间,发现在本地发现了qmlc文件,才发现这个是不需要配置的,默认就是开启。
我的qml文件是暴露在本地的,并且QQmlApplicationEngine直接加载在本地的qml文件运行。
然后很激动了跑了下profiler,一共两次,第一次是删除了所有的qmlc文件下跑的,也就是不带缓存,第二次是在有qmlc文件下跑的
第一次:
第二次:
果然名不虚传,在缓存到本地后,编译速度被大幅度缩减。
从16毫秒,缩减到了2毫秒。
不过到了这里,我知道有小伙伴要说了,14毫秒加速,有什么实际意义嘛。
所以我要说下,我这个只是一个很简单的工程,代码也就一点点。而且我是性能不错的PC上。如果在移动端或者嵌入式端,这就有非常明显的意义了。有可能是2秒,缩减到300毫秒这样的提升。
后来多试验了几次发现,要生成qmlc,不一定要把qml放在本地,放在qrc里也是可以的。
如果是放在qrc里面的话,qmlc会存储在文件系统中一个合适的位置放qmlc文件。文件名看起来是一个摘要值。
对于Windows,位置就是 AppData\Local\exe名字\cache
对于macOS,位置就是Library/Caches/app名字/qmlcache/
另外吐槽一下,官方对这个qmlc描述实在太少了,截止我写这个blog,我只在5.8新特性中找到那一句话,也就是上面那句。其他描述,比如说怎么关闭也没找到。如果有人找到了望分享下。
- Qt:5.8新特性,qmlc使用以及效果
- QT 5.8 新特性
- Xcode8安装使用以及新特性
- Qt 5.9 新特性
- android新特性:使用CollapsingToolbarLayout实现折叠效果及问题解决
- android新特性:使用CollapsingToolbarLayout实现折叠效果及问题解决
- Qt:5.5新特性,TreeView使用(quick)
- iOS10---新特性以及适配点
- iOS10---新特性以及适配点
- docker 1.13以及新特性
- kafka优点以及新特性
- OS6 新特性 UIRefreshControl 水滴效果
- 利用iOS8新特性实现毛玻璃效果
- Qt 4.6 当中的新特性
- Qt对C++添加的新特性
- android新特性:使用RecyclerViewHeader一键添加RecyclerView头布局并实现轮播效果
- android新特性:使用RecyclerViewHeader一键添加RecyclerView头布局并实现轮播效果
- Oracle——Default pool 之cache特性 以及 测试default pool使用效果实验分享
- ZCMU-Jolly Jumpers
- Retrofit 源码分析
- Qt 密码框不可选中、复制、粘贴、无右键菜单等
- 关于家里两个路由器进行级联时配置
- shell命令笔记
- Qt:5.8新特性,qmlc使用以及效果
- 优雅编程之Trove集合工具类的7点整理学习分享(四十)
- 前端构建系统 Gulp 的使用与常用插件推荐 - 上篇
- docker高级应用之智能添加与修改防火墙规则
- Mac下快速安装Emacs
- FineReport 集成到web项目
- 17 - 05 - 04 Web安全(31)
- 关于爱
- 前端构建系统 Gulp 的使用与常用插件推荐 - 下篇