返回信息流我试过只有1个CEdit类型控件的时候,刷新速度可以跟上数据的处理速度。但是控件数量增多后,比如5个以上,就有明显的10s滞后感。这是不能容忍的,求大神知道解决方法。
CEdit控件变量,响应Onpaint()函数进行刷新。
网上查过用双缓冲技术,但是好像适用于图像的绘制,并不适合CEdit文本或其他控件的刷新显示。
MFC不应该这么少控件就刷新不过来吧,那也太弱了。肯定是我代码问题,求解决方案啊!!!
这是一条镜像帖。来源:北邮人论坛 / cpp / #72049同步于 2013/6/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
【求助】MFC页面控件太多 导致刷新速度太慢 滞后严重
oneoneone
2013/6/23镜像同步11 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
机制是这样的,我网口收数据到缓存,同时读缓存做处理并显示。在显示前的部分,用时特别短,只有毫秒级,但是加上显示的代码,顿时处理速度就小于收数据速度,导致滞后严重。
至于在OnPaint中发WM_PAINT是不可能的吧,我根本就没动OnPaint这个函数
【 在 jonnyyue 的大作中提到: 】
: 10s 你不是在OnPaint里面又发WM_PAINT了吧
没有动OnPaint,用的就是你说的这样显示。速度真心跟不上。
最后取了妥协的方法,隔断时间显示一下,这样就不会有卡顿的现象了。但是还会有闪烁,是因为刷新时系统插入白色页面造成的,不过无关紧要。
【 在 bestbandari 的大作中提到: 】
: 干嘛动onpaint啊,直接接到数据,要更新的时候调用一下 控件变量.SetWindowText(数据)就行了
: 不过如无特殊必要,还是命令行好
still, enable double buffer first.
: 网上查过用双缓冲技术,但是好像适用于图像的绘制,并不适合CEdit文本或其他控件的刷新显示。
你要觉得是代码有问题就把刷新部分的代码贴出来~这么问怎么问得出结果~
【 在 oneoneone 的大作中提到: 】
: 我试过只有1个CEdit类型控件的时候,刷新速度可以跟上数据的处理速度。但是控件数量增多后,比如5个以上,就有明显的10s滞后感。这是不能容忍的,求大神知道解决方法。
: CEdit控件变量,响应Onpaint()函数进行刷新。
: 网上查过用双缓冲技术,但是好像适用于图像的绘制,并不适合CEdit文本或其他控件的刷新显示。
: ...................