首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在C#中绘制流数据

如何在C#中绘制流数据
EN

Stack Overflow用户
提问于 2009-06-21 18:26:24
回答 1查看 1.7K关注 0票数 2

我需要图形流数据(9600波特),这是来自一个串行端口的2-4字节数据包。在绘制图形之前,需要对数据包进行处理。目前,我在每个完整的数据包上引发一个事件,这会导致图形表单上的响应问题。

这是解决这一问题的最佳办法:

在事件中按时间间隔(即500 milliseconds)

  • Build缓冲区)引发缓冲数据,并让实例化对象轮询缓冲数据/空缓冲区时轮询

  • Other (?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-06-21 20:36:15

我肯定会限制更新率。对于这样的应用程序,每300毫秒一次通常就足够了。

基于此,一个很好的实现将是一个工作线程,它读取串行端口并将其添加到缓冲区。UI线程可以使用计时器查询数据并更新显示。

使用单独的线程,工作线程可以以更高的优先级运行,因此加载尖峰可能会延迟显示更新,但不会丢失数据。

另一个技巧是不使用固定的计时器,但是在更新完成后重新启动定时器。因此,如果更新需要很长的时间,例如由于高系统负载,您的更新就会慢下来,从而有效地减少负载。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1024472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档