缓存图像/渐变?

时间:2019-07-10 07:03:07

标签: qt caching qml

我有一个TableView,大约有40行和4列。全部160个单元格都有一个带有渐变的Rectangle。我将Qt5.13与启用的快速编译器一起使用。但是,当我以相对较大的时间间隔(100毫秒)为所有这160个单元设置动画时,UI将变得无响应。这意味着渲染渐变会花费太长时间。实际上,如果我仅渲染40个这样的单元格,就可以轻松地以100ms的间隔进行更新。

矩形代表进度条。它们具有从上到下的渐变。但是,进度条的值(长度)也会改变渐变。这就是为什么必须为每个值(长度)点重新创建和重新渲染渐变的原因。

显然,这很慢。我想做的是为每个值(长度)点缓存渐变。它们代表百分比,因此我只需要缓存101。我可以肯定,这可以提高此处的性能。

但是,如何我可以自己在QML中缓存渐变(或任何对象)吗?更为笼统(或额外)的问题是:如何在多个QML文件之间共享QML资源?

1 个答案:

答案 0 :(得分:0)

如果可以访问大内存,则可以尝试加载图像而不是渲染图像。也许您也可以尝试扩展SVG。