【问题标题】:Maximize throughput using java-libusb使用 java-libusb 最大化吞吐量
【发布时间】:2023-03-17 08:45:01
【问题描述】:

我目前正在开发 USB 设备(基于微控制器的数据记录器),并希望将数据从设备收集到主机以进行可视化。 libusbjava 用于 USB 数据传输。目前,我可以连接到设备并发送/接收数据。

我的问题是当我尝试以连续方式从设备连续接收数据 (5.12Mb/s) 时。这是发生了什么:

· 如果我尝试在 while 循环中连续收集数据,可以实现所需的 USB 吞吐量,但绘图线程不再工作 · 如果我尝试使用定时器线程每 1ms 收集一次数据(每 1ms 640 字节),吞吐量会受到显着影响,但绘图线程可以正常工作

构建我的 java 代码以实现所需吞吐量和图形的最佳方式是什么?

【问题讨论】:

    标签: java swing usb libusb libusb-win32


    【解决方案1】:

    使用SwingWorker 在后台处理 USB 通信。试图每毫秒更新一次 GUI 是不现实的。相反,publish() 批量更新,process() 在事件调度线程上更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多