可以参考官方提示https://doc.qt.io/qt-5/qtquick-performance.html
大牛翻译的https://blog.csdn.net/xqhrs232/article/details/76128633
1.图片
对于本地图片采用异步加载asynchronous设置为true(网络图片都是异步加载)
显式来源大小,如果应用程序加载大图像但是将其显示在一个小尺寸元素中,请将“sourceSize”属性设置为要渲染的元素的大小,以确保图像的较小比例版本保留在内存中,而不是大的。请注意,更改sourceSize将导致重新加载图像。
避免运行时组合,还要记住,通过在应用程序中提供预先组合的图像资源(例如,提供带阴影效果的元素),可以避免在运行时进行合成工作。
避免平滑图像,image.smooth仅在需要时启用。它在某些硬件上较慢,如果图像以其自然大小显示,则没有视觉效果。
绘画,避免多次涂抹同一区域。使用Item作为根元素而不是Rectangle以避免多次绘制背景。
2.配置
使用Qt Quick Compiler
只需要再PRO文件中添加一行:CONIFG += qtquickcompiler
(不确定好用不好用)
3.事件
尽可能使用异步,事件驱动编程,不要使定时器轮询
4.View的设置
GridView 和 ListView 可以开启cacheBuffer
5.ListModel添加大数据
ListModel提供append方法添加数据。可以采用一次添加多个数据。添加大数据也很快。
var tv = {name: "Apple2xxxxxxxxxxxxxxxxxxxxxxxxx","cost": 1.95}
var obj =[tv,tv,tv,tv,tv,tv,tv,tv,tv,tv];
for (var i = 0; i < 1000*100*10; ++i)
listmodel.append(obj);
好于 listmodel.append(tv);