任何性能问题都是在 qt 框架中使用来自 stackwidget 的最大页面数

Posted

技术标签:

【中文标题】任何性能问题都是在 qt 框架中使用来自 stackwidget 的最大页面数【英文标题】:Any performance issues were using maximum number of pages from stackedwidget in qt framework 【发布时间】:2017-01-25 05:46:40 【问题描述】:

在 QT 框架中,我们正在使用 Stacked Widget 容器,因为我们可以使用超过 50 个页面的最大页面数,其中有很多小部件网格布局和按钮。如果我们这样使用意味着 我们可以获得任何性能QT中堆叠小部件的问题???或者 否则我们必须使用其他方法在单个应用程序中使用多个页面。

【问题讨论】:

唯一确定的方法就是尝试一下;性能会有很大差异,具体取决于您运行的计算机和操作系统、您使用的小部件类型等等。我的猜测是,一旦设置了所有 50 个页面,您就可以正常运行了,但可能需要很长时间(例如几秒钟)才能完成 50 个页面的小部件和按钮的初始设置/填充。跨度> 嗨 Jeremy,ARM 32 位,带有 Linux 操作系统 - 嵌入式设备,因此最初在此容器中加载了 50 多个页面的堆叠小部件方法。 很高兴继续(或)必须看到更好的方法。如果我们使用这个设备意味着我们会遇到任何性能问题??? 编写一个测试程序,其行为与您的实际应用程序的行为大致相同。运行。观察它的表现。没有其他人可以为你做到这一点。我可以说“是”或“不是”,但你为什么要相信我的说法?我只是互联网上的一个随机的人,很可能是错的。 【参考方案1】:

这不应该是性能问题,只有当前活动的小部件正在呈现。但这可能是内存问题,因为小部件即使不可见,仍将驻留在内存中。如果您的嵌入式平台在 RAM 上是适中的,那么您肯定不希望在内存中保留不可见的小部件,CPU 的速度不足以处理实际工作。

内存问题可以通过将逻辑与GUI完全解耦来避免,然后你可以只拥有内存中的逻辑,这应该更紧凑,并且只在需要时创建视图小部件,在不需要时销毁,这样你就可以可以保留对话状态,而无需将实际对话保留在内存中,仅保留其数据。

另外,不要迷失在过早的优化中。在你凭经验确定你有问题之前,你不会有问题。

【讨论】:

以上是关于任何性能问题都是在 qt 框架中使用来自 stackwidget 的最大页面数的主要内容,如果未能解决你的问题,请参考以下文章

使用 ORM 工具(框架)有啥好处?

是否有任何 C# 框架或代码来解析 *blg 性能计数器日志文件?

腾讯高性能 RPC 开发框架

如何在 Linux 上使用 Qt 或任何其他 cpp 框架播放 wma 音频文件?

腾讯推出高性能 RPC 开发框架

没有Android框架创建Android应用程序