C# winform程序cpu占用率问题

一个雷达显控界面,项目调试运行cpu占用率很高,界面也很卡顿;但是用性能探测器运行,
cpu占用率非常低,很流畅这是怎么回事?
我怀疑是不是线程有异常退出的时候,debug模式要打印错误信息,导致和卡顿?
这个是debug的占用率
这个是debug模式运行的cpu占用率

图片说明
这个是性能探测器运行的cpu占用率,一行代码没改

你的线程代码怎么写的,有没有用到同步操作,有没有用lock不正确加锁,确保耗时的操作都放在工作线程里了么?

是不是有类似
while(1){};的监听死循环? 是的话,在其中加个sleep,CPU使用率就会下来了

不正确的lock有很多种,造成界面假死的有两个,一个是死锁,一个是同步过度。
这里演示下同步过度:
比如说界面里面写
lock(obj)
{
val = 某个造成阻塞的函数();
更新界面(val);
}
或者
this.invoke(delegate()
{
val = 某个造成阻塞的函数();
更新界面(val);
});
无论哪种写法,都会导致UI阻塞。

是不是一些数据运行之后没有及时释放?比如io流和请求响应流等。又或者你启动线程之后是一直处于运行状态没有关闭,设置一下超时响应看一下能不能解决这个问题。运行完的东西要及时释放或者关闭

debug监听事件太多了吧,换release编译运行不卡就可以了,debug卡一点没事。