解决MATLAB绘图延迟问题的一种方法
2017-10-05 20:50
2151 查看
问题描述
在GUI中接收串口数据,并绘制实时的曲线;
但是发送数据变化后,刚开始能在曲线上体现出来,几秒钟过去就出现卡顿延迟;越往后越卡。
关键词:
MATLAB、GUI、画图、实时曲线、延迟、解决方法
问题分析和方法尝试
开始曲线变化流畅,越往后延迟越大,说明往后MATLAB储存数据太多导致的;
尝试每次画少一些点,是否可以解决问题;
结果开始显示时好一点,但是还会很快的卡顿和增大延迟。
网上有人建议改:主页→预设→常规→Java堆内存,调大一些;
感觉结果没有变化。
是不是电脑性能不好?
应该不是,毕竟是台式机,平时用起来很顺手,画个简单的图应该没问题。
网上查找结果
网上有不少人遇到相同的问题,比如这个:
但是这个哥们很有意思,不知道发现了什么失误,也不说原因和结果,直接说问题解决了,就再也看不到身影……
留下了一群懵逼的表情……
继续找到了这个,问题描述一样:
说是没加分号:
分析一下:
不愿说原因的那哥们说是失误,这里发现说是分号忘了加,很有可能说的是同一个原因!
我赶紧检查了一下自己的分号有没有少,结果发现没有问题……
我猜想可能某种情况下,延迟是由分号导致的,我没见过,我这里也不是分号的问题……
同样,下面说的方法也可能只适用于某种特定的情况,希望能至少给一小部分人帮助。
发现解决方法
再后来反复见到一个经典的例程,最后一次浏览时,在这个例程中注意到这句话:
参考: 用matlab实时读取串口数据并动态显示曲线 -luckpl
EraseMode是什么?
当然我不会直接复制MATLAB help里面的,虽然一大堆英文看起来很有逼格……
按照个人目前的不入流水平,觉得很多MATLAB问题中文网页都能解决差不多了。
normal方式很容易理解,重新绘图,但较慢!默认是normal方式。
none方式不做任何擦除,在原来图形上绘制,会出现覆盖和重叠的效果:
根据上面xor方式的描述,这种方法既可以绘制新画出来的曲线,也不会全部刷新导致延迟严重,这样的话就保证了实时性。
background 方式把旧对象的颜色变为背景色,这个好理解,但是下面这句:这种方式影响被擦除对象下面的对象?不太懂。
我试了一下background模式,和xor模式显示上没有区别,可能是,只要不全部重新刷新,就能满足实时性要求。
根据我不求甚解的性格,我才不关心backgr
a3ab
ound到底有什么用呢……
结语
中秋节快乐!
在GUI中接收串口数据,并绘制实时的曲线;
但是发送数据变化后,刚开始能在曲线上体现出来,几秒钟过去就出现卡顿延迟;越往后越卡。
关键词:
MATLAB、GUI、画图、实时曲线、延迟、解决方法
问题分析和方法尝试
开始曲线变化流畅,越往后延迟越大,说明往后MATLAB储存数据太多导致的;
尝试每次画少一些点,是否可以解决问题;
结果开始显示时好一点,但是还会很快的卡顿和增大延迟。
网上有人建议改:主页→预设→常规→Java堆内存,调大一些;
感觉结果没有变化。
是不是电脑性能不好?
应该不是,毕竟是台式机,平时用起来很顺手,画个简单的图应该没问题。
网上查找结果
网上有不少人遇到相同的问题,比如这个:
但是这个哥们很有意思,不知道发现了什么失误,也不说原因和结果,直接说问题解决了,就再也看不到身影……
留下了一群懵逼的表情……
继续找到了这个,问题描述一样:
说是没加分号:
分析一下:
不愿说原因的那哥们说是失误,这里发现说是分号忘了加,很有可能说的是同一个原因!
我赶紧检查了一下自己的分号有没有少,结果发现没有问题……
我猜想可能某种情况下,延迟是由分号导致的,我没见过,我这里也不是分号的问题……
同样,下面说的方法也可能只适用于某种特定的情况,希望能至少给一小部分人帮助。
发现解决方法
再后来反复见到一个经典的例程,最后一次浏览时,在这个例程中注意到这句话:
参考: 用matlab实时读取串口数据并动态显示曲线 -luckpl
EraseMode是什么?
当然我不会直接复制MATLAB help里面的,虽然一大堆英文看起来很有逼格……
按照个人目前的不入流水平,觉得很多MATLAB问题中文网页都能解决差不多了。
normal方式很容易理解,重新绘图,但较慢!默认是normal方式。
none方式不做任何擦除,在原来图形上绘制,会出现覆盖和重叠的效果:
根据上面xor方式的描述,这种方法既可以绘制新画出来的曲线,也不会全部刷新导致延迟严重,这样的话就保证了实时性。
background 方式把旧对象的颜色变为背景色,这个好理解,但是下面这句:这种方式影响被擦除对象下面的对象?不太懂。
我试了一下background模式,和xor模式显示上没有区别,可能是,只要不全部重新刷新,就能满足实时性要求。
根据我不求甚解的性格,我才不关心backgr
a3ab
ound到底有什么用呢……
结语
中秋节快乐!
相关文章推荐
- 一种高效率的排序方法-归并排序的实现(主要解决matlab中多维数组排序的问题)
- C# 绘图中的图片闪烁问题解决方法的使用结果
- JSP数据和JavaScirpt数据交互使用问题的一种解决方法
- hibernate 延迟加载(Lazy)问题spring下解决方法
- Matlab 7.0不断重启问题解决方法
- JSP数据和JavaScirpt数据交互使用问题的一种解决方法
- Microsoft Visual Studio 遇到了问题,需要关闭的一种可能的解决方法(转载)
- Matlab 2010在ubuntu linux偶尔输入问题解决方法
- JSP数据和JavaScirpt数据交互使用问题的一种解决方法
- Win7向下兼容性问题的一种解决方法
- Win7向下兼容性问题的一种解决方法
- 一种快速解决JAVA内存泄漏问题的方法
- VM 虚拟机linux 时间总是延迟问题解决方法
- failed to lazily initialize a collection of role: no session or session was closed (Hibernate) 解决方法(延迟加载问题)
- vb-对象库未注册 问题的一种解决方法
- 关于ISA2004内网卡网线拔插造成ISA代理失效问题的一种解决方法(下列错误而失败:0x80072
- 关于Matlab绘图中的下标问题解决方案(转)
- JSP数据和JavaScirpt数据交互使用问题的一种解决方法
- JSP传递参数中文乱码问题的一种解决方法
- JSP数据和JavaScirpt数据交互使用问题的一种解决方法