• 527阅读
  • 7回复

[提问]TextArea频繁追加文本界面会卡顿怎么解决? [复制链接]

上一主题 下一主题
离线朱红晨
 

只看楼主 倒序阅读 楼主  发表于: 07-30



各位大佬,以上是我写的程序,C++会频繁调用recInfoAddText函数能追加文本,此时界面会出现卡顿,不知道应该怎么优化代码?还是改变显示方式?
在线20091001753

只看该作者 1楼 发表于: 07-30
可以自己加个缓冲。创建一个定时器,如果缓冲区有文本,则 AddText
所谓的缓冲区,可以就是一个 QString

而且这个定时器,是针对界面里,所有可能频繁触发的控件,做内容缓冲
(づ ̄ 3 ̄)づ
离线朱红晨

只看该作者 2楼 发表于: 07-31
回 20091001753 的帖子
20091001753:可以自己加个缓冲。创建一个定时器,如果缓冲区有文本,则 AddText
所谓的缓冲区,可以就是一个 QString
而且这个定时器,是针对界面里,所有可能频繁触发的控件,做内容缓冲 (2019-07-30 19:29) 

我也试过这样的方法,刚开始addText没有什么问题,可是一旦TextArea中字符超过1W时界面就有明显卡顿了
在线liudianwu

只看该作者 3楼 发表于: 07-31
记得把以前的字符删掉
专业各种自定义控件编写+UI定制+输入法定制+视频监控+工业控制+仪器仪表+嵌入式linux+各种串口网络通信,童叟无欺,量大从优,欢迎咨询购买定制!你正好需要,我正好专业!QQ:517216493 微信:feiyangqingyun Email:feiyangqingyun@163.com
群号:853086607(Qt交流大会,雨田哥群,不定期上传作品,解答作品中相关问题!) 312125701(QtQML多多指教群) 46679801(Qt开发技术交流群-5000人大群)
离线朱红晨

只看该作者 4楼 发表于: 07-31
回 liudianwu 的帖子
liudianwu:记得把以前的字符删掉 (2019-07-31 11:17) 

是要一直显示的,除非用户手动清空,是TextArea控件不能显示大量文本数据吗?
在线20091001753

只看该作者 5楼 发表于: 07-31
我在 PC 端,用 QPlainTextEdit 显示过一万行的文本,没问题。

而 qml 一般运用在手机,嵌入式等等。
我没试过 qml 的控件显示上万字。
(づ ̄ 3 ̄)づ
离线朱红晨

只看该作者 6楼 发表于: 07-31
回 20091001753 的帖子
20091001753:我在 PC 端,用 QPlainTextEdit 显示过一万行的文本,没问题。
而 qml 一般运用在手机,嵌入式等等。
我没试过 qml 的控件显示上万字。 (2019-07-31 14:05) 

应该是QML性能不行吧,我用Widgets写就不会卡顿。。。。。就是界面没QML好看啊
在线20091001753

只看该作者 7楼 发表于: 07-31


我用 widgets 在手机上显示 5 万行的文本,没有感觉到卡顿。
晓龙660

按理说,在手机上,应该是 qml 的性能会比 widgets 更好才对。
因为 widgets 的硬伤是只能 cpu 绘制,而 qml 支持 gpu 加速。
(づ ̄ 3 ̄)づ
快速回复
限100 字节
 
上一个 下一个