Repeater 使用 Javascript 数组模型在 Qt 5.12 中造成性能问题

问题描述 投票:0回答:1

我的项目代码使用了 Qt 版本 5.12 和在我的目标设备上构建的 IMX 587 处理器。在这里,我面临一些性能问题,因为中继器使用 javascript 数组模型,然后每当任何项目发生更改时,整个模型都会重置,并且中继器会重新绘制所有项目。此问题已在此链接中提出过 请参阅检查此链接

我的相同项目代码在更新的处理器版本 IMX 8 目标设备中闪烁,并且还更新了 Qt 版本 6.4。在这个设备中,我看不到这个性能问题。

那么,如果我在 IMX 587 处理器目标设备中将 qt 版本从 5.12 更新到 6.4,是否可以解决此性能问题?

此后,尝试更改旧代码,这些代码非常复杂。

提前谢谢

performance qt model-view-controller qml repeater
1个回答
0
投票

在链接的问题中,我指的是Qt6.4列表语法,即更改

property var dataModel: [ ... ]

property list<var> dataModel: [ ... ]

右侧仍然看起来像一个 Javascript 数组,但是左侧由新的 Qt6.4

list
类型支持,因此当它与您的
Repeater
一起使用时,它将确认更改检测。

所以,总之,升级到Qt6.4是不够的,你需要改变你的

dataModel
的类型。

© www.soinside.com 2019 - 2024. All rights reserved.