注册 登录
编程论坛 C++教室

UI刷新问题求助:

fimmu 发布于 2017-09-27 06:11, 1607 次点击
这是我的第一个帖子,有一个烦恼百思不解,想请求高手相助。

我在开发一个股票数据引擎客户端,数据由服务器不断主动发送,客户端接到新数据后,根据与UI的协议,将有关数据打成UI可识别的数据包,利用sendmessage发送数据包地址与UI共享, UI收到信息和数据后,刷新股票图。

目前客户端与服务器间,与UI间的联接都已经实现,数据可以刷新, 出乎意料的是,过一段(随机)时间后,UI将此段时间已接收到的全部数据抹去,继续用新的数据更新, 其结果是UI端数据在不断被抹去又不断被更新。

由于数据源更新速度较快,不知是否因为UI端内存有限,或者处理能力不足,又或者是sendmessage的同步特性造成数据被抹掉(?),还是别的原因,导致上述奇怪现象发生。 我试图减低数据发送速度,在打包过程加上lock, 使用postmessage等都无法解决上述问题。

希望在此能有高手指点迷津, 找到正确方向。
2 回复
#2
rjsp2017-09-27 08:26
只能在出问题时,一步步调试,看看为什么数据会被抹去
#3
fimmu2017-09-27 09:14
谢谢版主提醒。UI是一个第三方股软,无法做太多调试工作,唯一可知的是接口的协议,另外,问题发生时间不固定,有时几个数据就被抹去,有时几十个。以前关注1000多只股票时,好像没有发生过,但现在关注3000多,问题就出来了,怀疑超出股软原设计的处理/负载能力,因此清空了缓冲区?
1