大约一年来,我一直在为制造机器开发 gui(或 HMI)。gui 需要读取访问权限的机器中大约有 5000 个参数。
目前我有一个守护线程从机器收集所有变量作为机器中的几个大数据块并将它们解析出来并将它们放在gui上的列表中。
我在不到 40 毫秒的时间内收集、更新和解析所有内容,这远低于所需的 1 秒的必要更新频率,因此我认为这工作得很好。
那么问题是如何在实际的 gui 中更新控件。因为我只能在创建它的同一线程上更新控件。我目前使用不同的线程循环所有控件,然后使用 BeginInvoke (winform) 或 Dispatcher (wpf) 为用户更新所有内容。这对我来说似乎过于复杂。
有没有人做过类似的事情或者有更优雅的方式来更新 gui?
谢谢!