事件发生的速度有多快?

时间:2015-12-03 03:55:26

标签: c#

我正在开发一个与硬件配置一起工作的应用程序。

硬件通过应用程序中的串行端口连接到应用程序,并将以很快的速度(~2-4μs)从硬件向应用程序发送数据。

我的计划是通过父窗体中的串行端口接收数据,然后通过事件将此数据发送到专用于显示它的用户控件。

虽然我直接将其传输到单个表单没有任何问题,但我对事件不熟悉,并且不确定事件是否会以足够快的速度发生以便顺利处理数据。

我的问题是:

  • 事件发生的速度有多快?它是基于硬件,还是有软件限制?
  • 使用此方法处理数据有哪些缺点?
  • 通过事件传递数据有更好的选择吗?
  • 以这个速度处理数据是否可行?

1 个答案:

答案 0 :(得分:4)

  1. 事件很快(代理电话几乎和直接电话一样便宜)
  2. 为了平滑,您每秒只需要与帧速率(约60 Hz)一样多的批次
  3. 根据您的串口供应商和设置,您可能会因缓冲而受到相当大的延迟。
  4. 以“此”速率处理数据(每秒500,000个样本)非常可行,具体取决于您需要处理多少处理。鉴于您的采样率和显示更新率之间存在四个数量级的差异,在进行屏幕更新时不值得对它们进行批处理,而不是每秒重绘500,000次。
  5. 没有传统的“串口”,即使是基于USB的,也可以每秒传输500,000个样本。 (我见过的最好的UART是3 Mbps =每秒300,000字节,每个数据包可能超过一个字节)
  6. 如果是2-4微秒的位时间,那么您无需担心。在为程序生成事件之前,串行端口将缓冲数百个位。
相关问题