新人求助,使用zedGraph绘图绘图程序卡死

问题描述

上位机接收串口数据,下位机不停发送数据到上位机,当开始打开串口时,程序会卡死1分钟左右,之后恢复正常;有时候调用了pointList.Clear(),后再重新往里面加入数据也会让程序卡死~~

解决方案

解决方案二:
放到线程里就好了
解决方案三:
你的数据有多少?CS一般数据不多不会卡,你如果在网站上使用zedgraph的话倒是有可能会卡。
解决方案四:
引用楼主huang1004943336的回复:

上位机接收串口数据,下位机不停发送数据到上位机,当开始打开串口时,程序会卡死1分钟左右,之后恢复正常;有时候调用了pointList.Clear(),后再重新往里面加入数据也会让程序卡死~~

你先单步调试看是哪一步卡,然后再分析原因
解决方案五:
保证是主线程去读串口了
解决方案六:
引用2楼Q1092926267的回复:

你的数据有多少?CS一般数据不多不会卡,你如果在网站上使用zedgraph的话倒是有可能会卡。

应该不存在数据量的问题,我用串口大师只发一个数据过来也是同样的情况。单步调试也用了,在完成所有程序步骤之后,程序还是才出现卡死现象,要很久才能恢复过来
解决方案七:
引用4楼Z65443344的回复:

保证是主线程去读串口了

是主线程读串口,数据接收事件运行与辅助线程
解决方案八:
引用5楼huang1004943336的回复:

Quote: 引用2楼Q1092926267的回复:
你的数据有多少?CS一般数据不多不会卡,你如果在网站上使用zedgraph的话倒是有可能会卡。

应该不存在数据量的问题,我用串口大师只发一个数据过来也是同样的情况。单步调试也用了,在完成所有程序步骤之后,程序还是才出现卡死现象,要很久才能恢复过来

所有步骤完成了才出现卡死那很明显不是接收串口和绑定图像的问题
解决方案九:
引用7楼Q1092926267的回复:

Quote: 引用5楼huang1004943336的回复:
Quote: 引用2楼Q1092926267的回复:
你的数据有多少?CS一般数据不多不会卡,你如果在网站上使用zedgraph的话倒是有可能会卡。

应该不存在数据量的问题,我用串口大师只发一个数据过来也是同样的情况。单步调试也用了,在完成所有程序步骤之后,程序还是才出现卡死现象,要很久才能恢复过来

所有步骤完成了才出现卡死那很明显不是接收串口和绑定图像的问题

我觉得应该是绘图部分的问题,我单步调试,结束之后,要很久图像才出来,而且出来的时候已经完成了几次数据的显示。但是又完全找不到原因
解决方案十:
引用8楼huang1004943336的回复:

Quote: 引用7楼Q1092926267的回复:
Quote: 引用5楼huang1004943336的回复:
Quote: 引用2楼Q1092926267的回复:
你的数据有多少?CS一般数据不多不会卡,你如果在网站上使用zedgraph的话倒是有可能会卡。

应该不存在数据量的问题,我用串口大师只发一个数据过来也是同样的情况。单步调试也用了,在完成所有程序步骤之后,程序还是才出现卡死现象,要很久才能恢复过来

所有步骤完成了才出现卡死那很明显不是接收串口和绑定图像的问题

我觉得应该是绘图部分的问题,我单步调试,结束之后,要很久图像才出来,而且出来的时候已经完成了几次数据的显示。但是又完全找不到原因

完成几次数据的显示???你里面还用了timer控件定时刷新显示?
解决方案十一:
引用8楼huang1004943336的回复:

Quote: 引用7楼Q1092926267的回复:
Quote: 引用5楼huang1004943336的回复:
Quote: 引用2楼Q1092926267的回复:
你的数据有多少?CS一般数据不多不会卡,你如果在网站上使用zedgraph的话倒是有可能会卡。

应该不存在数据量的问题,我用串口大师只发一个数据过来也是同样的情况。单步调试也用了,在完成所有程序步骤之后,程序还是才出现卡死现象,要很久才能恢复过来

所有步骤完成了才出现卡死那很明显不是接收串口和绑定图像的问题

我觉得应该是绘图部分的问题,我单步调试,结束之后,要很久图像才出来,而且出来的时候已经完成了几次数据的显示。但是又完全找不到原因

如果不知道什么原因只能用排除法了例如禁用绑定zedgraph控件看界面是不是卡死如果还是卡死了那就禁用串口看卡不卡一直排除下去就知道哪一块的问题了
解决方案十二:
引用10楼Q1092926267的回复:

Quote: 引用8楼huang1004943336的回复:
Quote: 引用7楼Q1092926267的回复:
Quote: 引用5楼huang1004943336的回复:
Quote: 引用2楼Q1092926267的回复:
你的数据有多少?CS一般数据不多不会卡,你如果在网站上使用zedgraph的话倒是有可能会卡。

应该不存在数据量的问题,我用串口大师只发一个数据过来也是同样的情况。单步调试也用了,在完成所有程序步骤之后,程序还是才出现卡死现象,要很久才能恢复过来

所有步骤完成了才出现卡死那很明显不是接收串口和绑定图像的问题

我觉得应该是绘图部分的问题,我单步调试,结束之后,要很久图像才出来,而且出来的时候已经完成了几次数据的显示。但是又完全找不到原因

如果不知道什么原因只能用排除法了例如禁用绑定zedgraph控件看界面是不是卡死如果还是卡死了那就禁用串口看卡不卡一直排除下去就知道哪一块的问题了

因为串口时不停在发送数据到上位机,所以在界面卡死再恢复的时候,直接出来了几次数据。如果我在代码中注释掉zedGraph的实时绘图,程序就可以很正常的运行
解决方案十三:
引用11楼huang1004943336的回复:

Quote: 引用10楼Q1092926267的回复:
Quote: 引用8楼huang1004943336的回复:
Quote: 引用7楼Q1092926267的回复:
Quote: 引用5楼huang1004943336的回复:
Quote: 引用2楼Q1092926267的回复:
你的数据有多少?CS一般数据不多不会卡,你如果在网站上使用zedgraph的话倒是有可能会卡。

应该不存在数据量的问题,我用串口大师只发一个数据过来也是同样的情况。单步调试也用了,在完成所有程序步骤之后,程序还是才出现卡死现象,要很久才能恢复过来

所有步骤完成了才出现卡死那很明显不是接收串口和绑定图像的问题

我觉得应该是绘图部分的问题,我单步调试,结束之后,要很久图像才出来,而且出来的时候已经完成了几次数据的显示。但是又完全找不到原因

如果不知道什么原因只能用排除法了例如禁用绑定zedgraph控件看界面是不是卡死如果还是卡死了那就禁用串口看卡不卡一直排除下去就知道哪一块的问题了

因为串口时不停在发送数据到上位机,所以在界面卡死再恢复的时候,直接出来了几次数据。如果我在代码中注释掉zedGraph的实时绘图,程序就可以很正常的运行

实时绘图的代码贴出来看一下
解决方案十四:

///<summary>///该函数进行界面曲线的更新///</summary>///<paramname="pressure">此时收到的压强</param>privatevoidrefreshUI(doublepressure){doublex=(double)newXDate(DateTime.Now);pointPairListPressure.Add(x,pressure);if(pointPairListPressure.Count>100){pointPairListPressure.RemoveAt(0);}zedGraphControl1.AxisChange();zedGraphControl1.Refresh();}
解决方案十五:
好无助~~等高手解答
解决方案:
引用12楼Q1092926267的回复:

Quote: 引用11楼huang1004943336的回复:
Quote: 引用10楼Q1092926267的回复:
Quote: 引用8楼huang1004943336的回复:
Quote: 引用7楼Q1092926267的回复:
Quote: 引用5楼huang1004943336的回复:
Quote: 引用2楼Q1092926267的回复:
你的数据有多少?CS一般数据不多不会卡,你如果在网站上使用zedgraph的话倒是有可能会卡。

应该不存在数据量的问题,我用串口大师只发一个数据过来也是同样的情况。单步调试也用了,在完成所有程序步骤之后,程序还是才出现卡死现象,要很久才能恢复过来

所有步骤完成了才出现卡死那很明显不是接收串口和绑定图像的问题

我觉得应该是绘图部分的问题,我单步调试,结束之后,要很久图像才出来,而且出来的时候已经完成了几次数据的显示。但是又完全找不到原因

如果不知道什么原因只能用排除法了例如禁用绑定zedgraph控件看界面是不是卡死如果还是卡死了那就禁用串口看卡不卡一直排除下去就知道哪一块的问题了

因为串口时不停在发送数据到上位机,所以在界面卡死再恢复的时候,直接出来了几次数据。如果我在代码中注释掉zedGraph的实时绘图,程序就可以很正常的运行

实时绘图的代码贴出来看一下

我把代码贴出来了,麻烦帮我看看。谢谢

时间: 2024-12-31 00:04:49

新人求助,使用zedGraph绘图绘图程序卡死的相关文章

c++基础-新人求助!记录程序时间出错

问题描述 新人求助!记录程序时间出错 #include #include #include #include"sort.h" using namespace std; int main() { int choice, n, i, j; DWORD start, end; while(1) { cout << "输入数据的方式:" << endl; cout << "1.手动输入" << endl;

gdi-c# GDI绘图 winform程序

问题描述 c# GDI绘图 winform程序 如图 分为两个区域 除上述蓝色背景区域外,下面的黑色整个部分我想换个颜色,以下是代码,请问最后的零的位置如何修改 (也就是修改下面的部分的高度) private void DrawTrainGraph(Graphics g) { //先绘制一个矩形区,作为列车区的底图 using (Brush brush = new SolidBrush(TraGraphBKColor)) { g.FillRectangle(brush, -orgView.X /

计算机问题-无法启动程序,新人求助呀

问题描述 无法启动程序,新人求助呀 无法启动程序,计算机中丢失swscale-2.dll是怎么回事

mysql-Java入门新人求助:Js中表格如何实现保存删除这两个功能?请举例说明

问题描述 Java入门新人求助:Js中表格如何实现保存删除这两个功能?请举例说明 做了一个网页,具有登录功能,其中welcome.jsp为登陆成功后的页面,那么问题来了,我新建了一个表格,如何让这个表格可以进行保存删除这两种操作?请举例说明,谢谢. 解决方案 JS:function del(r) { var i = r.parentNode.parentNode.rowIndex; alert(r.parentNode.parentNode.rowIndex); document.getElem

java 监听器- java新人求助,五子棋胜利判定无效。

问题描述 java新人求助,五子棋胜利判定无效. private MouseListener playChessHandler=new MouseAdapter(){ public void mousePressed(MouseEvent e){ int x=e.getX(); int y=e.getY(); //******放一颗棋子 if(canplay=true){ if(x<=grids*space&&x>=0&&y<=grids*space&am

解密-关于RSA非对称加密的问题。请各位大神帮我看下以下问题,新人求助。。。感激不尽

问题描述 关于RSA非对称加密的问题.请各位大神帮我看下以下问题,新人求助...感激不尽 关于RSA非对称加密的问题.编程语言采用的是C++ 现在需要设计一个用来加密解密程序.里面包含两个接口,一个是加密,一个是解密. rsa 对称加密是公钥和私钥进行加密,接口设计如下: int EncodeRSA(unsigned char pub_key,unsigned int pass_len, unsigned char data,unsigned int data_len,unsigned char

网站二级域名设置-新人求助:关于网站新增二级域名的问题

问题描述 新人求助:关于网站新增二级域名的问题 最近网站需要增加二级域名网站,我在网万后台新增了二级域名,记录类型选的是CNAME,记录值选的是网站域名,并且也做过域名绑定了,但是打开这个新增的二级域名的时候显示的是网站首页,这是为什么呢? 还有新增二级域名设置好了,是不是要在网站根目录下新建个文件夹存放网站程序呢?还是直接放在网站根目录下呢?求解,谢谢. 解决方案 第一种情况,你的二级域名网站与一级域名的网站不在同一个WEB服务器,那么你新建的二级域名要指向另外一个ip地址. 第二种情况,你用

c++-新人求助 关于网络编程的思路问题

问题描述 新人求助 关于网络编程的思路问题 用多网卡电脑作为服务器,不同网卡设置不同网段的IP,分别采用tcp,udp 和组播协议进行通信.网卡固定对应一种协议,例如网卡A上采用tcp协议. 求问大神,要实现不同网卡(协议)同时收发(主要是接收)数据,需要采用什么方法,跪求大神指导具体思路. 解决方案 这个和你的编程没有任何关系,这个是你交换机和网关的配置.你的程序按照ip端口正常通讯就可以了.

新人求助 关于JAVA的基础问题

问题描述 新人求助 关于JAVA的基础问题 刚开始学习JAVA 想请教一下这里面的!X表示的是什么?是X=false吗? 解决方案 这里的!x是判断的意思而if里的布尔值只有为true的时候才会执行其后面花括号里的程序.所以当x的布尔值为true时!x是false后面花括号里的代码是不会执行的.当x的布尔值为false时!x是true这时后面花括号里的代码才会执行的. 解决方案二: 是的,非操作,就是如果x的值为false,那么非就是true,就会进入条件分支了. 解决方案三: 如果x为fals