Wpf 读取串行端口上的数据时UI冻结
我正在开发一个WPF应用程序,它将读取串行端口上的数据,对其进行解析,并将其显示在UI上 我必须使用串行端口Buad速率-115200,数据位-8,停止位-1 我在串行端口上每秒发送10000字节,将由我的WPF应用程序读取 但是,在这里我面临着UI的问题。当我开始读取COM端口时,我的UI冻结。它不允许任何人做任何事情。根据我的调查,这是由于数据的高速Wpf 读取串行端口上的数据时UI冻结,wpf,serial-port,Wpf,Serial Port,我正在开发一个WPF应用程序,它将读取串行端口上的数据,对其进行解析,并将其显示在UI上 我必须使用串行端口Buad速率-115200,数据位-8,停止位-1 我在串行端口上每秒发送10000字节,将由我的WPF应用程序读取 但是,在这里我面临着UI的问题。当我开始读取COM端口时,我的UI冻结。它不允许任何人做任何事情。根据我的调查,这是由于数据的高速 我在不同的线程上读取com端口,UI在不同的线程上运行 线程之间的数据传输使用公共循环缓冲区完成 我确实使用过BeginInvoke方法来更新
Vishal N听起来好像您的
线程
对象设置不正确,或者您过于频繁地将反馈返回到UI
如果您对直接使用
Thread
对象感到不舒服,那么BackgroundWorker
类可能会帮助您。查看MSDN上的页面。请显示一些代码。您确定您在不同的线程上吗?你的端口读取完成了吗?请发布一些代码。第三步是问题所在,你做得太频繁了。用户界面跟不上。只要少做一点,你只需要让人的眼睛忙碌。他们看不到任何更新速度超过每秒20次的东西。缓冲接收到的数据,直到得到完整响应。并尽量减少您在UI上转储的信息量。