插入 WStandardItemModel 太慢

发布于 2024-11-18 13:24:42 字数 286 浏览 1 评论 0原文

我正在开发一个基于 WT 的应用程序。

我们遇到了性能问题,因为它必须在与 WStandardItemModel 关联的 WTableView 中显示大量数据。

对于表中添加的每个新项目,它都会:(

model->setData( row, column, data )

这种情况发生了几千次)。

有什么办法可以让它更快吗?还有其他方法可以在表中添加数据吗?

生成数据可能需要 2 秒,显示数据可能需要几分钟......

I am working on a application built uppon WT.

We have a performance problem, as it must display a lot of data in a WTableView associated with a WStandardItemModel.

For each new item to be added in the table it does:

model->setData( row, column, data )

(which happens a few thousand times).

Is there some way to make it faster? some other way to add data in the table?

it can take 2 seconds to generate the data and several minutes to display it ...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嗫嚅 2024-11-25 13:24:42

WStandardItemModel 是一种易于使用的通用模型,但对于非常大的模型来说并不是最佳选择。尝试专门化一个 WAbstractTableModel;您只需要重新实现三个方法,就可以从数据所在的位置读取数据,或者即时计算数据。

视图需要几分钟才能显示是不正常的。我已经在具有数千个条目的表上使用了视图,没有出现性能问题。您的系统是否由于(非常大的)WStandardItemModel 中浪费的内存而进行交换?

WStandardItemModel is a general-purpose model that is easy to use, but it's not optimal for very large models. Try to specialize a WAbstractTableModel; you only need to reimplement three methods and you can read your data from wherever it resides, or compute it on the fly.

It's not normal that a view takes minutes to display. I've used views on tables with many thousands of entries without performance problems. Was your system swapping because of the memory wasted in a (extremely large) WStandardItemModel?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文