gpt4 book ai didi

.net - WPF无响应的UI问题

转载 作者:行者123 更新时间:2023-12-03 13:21:25 27 4
gpt4 key购买 nike

我有一个显示一些奇怪行为的应用程序,但我无法弄清楚。基本上,我的应用程序会启动,并尝试连接到通过USB连接的某些外部硬件。进行此操作时,我将显示一个“繁忙”窗口,其中包含一些简单的动画。但是,在硬件初始化时,UI会间歇性地完全挂起(动画和全部)。

问题是,该问题是间歇性的,并且我已经确保它在后台线程上运行(通过Task.StartNew)。我尝试用“Thread.Sleep(5000)”之类的东西替换硬件初始化调用来模拟挂起,并且UI行为正确,因此在这里我有点主意。

硬件本身(以及用于与之交互的非托管库)是否可能以某种方式干扰系统并导致问题?我真的很讨厌诉诸硬件,但是我还缺少其他调查途径或其他可能的软件问题吗?

最佳答案

您是否使用COM库连接到设备?如果将COM作为STA引入,则最终可能会将其某些工作委派给UI线程,从而导致对另一个线程的阻塞调用有时也会阻塞主UI线程。我很烦。行为良好的COM组件不会执行此操作,但是我之前曾遇到过。您可以通过仅隔离导致测试应用程序中阻塞的调用,而不进行其他任何操作来诊断是否正在发生这种情况。创建一个UI计时器并记录滴答声。如果在单独的线程上调用COM方法时,滴答声停止触发,则表明COM组件的行为异常。

关于.net - WPF无响应的UI问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8360459/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com