QT 实时曲线缩放和回滚记录重绘效率如何优化? 5C

在开发一个小的嵌入式程序,在Linux上使用QT编写交叉编译到ARM上运行,绘制实时数据,曲线应当说是一个总的趋势图,类似股票那种。缩放的时候每一个比例在数据里取点的方式都不一样。目前在ARM上运行在缩放和回滚显示记录时有卡顿现象,请问我如何优化处理才能流畅实现。

目前曲线是在试图场景(graphics)上画前景跟背景,没有用到item之类的东西,每次缩放和平移都需要重新计算目前区域需要画哪些点,加入list中然后一段段绘制(而且数据当中是会有需要空掉的地方,就是说整条曲线不连续的,因此需要一段一段的画)。计算点和画线耗时都挺大的,而且是绘制多条曲线。所以在此问问各路大神有没有好的解决方案或者一些建议。谢谢~

后面补充一下,点其实已经按照分辨率、显示比例、和走纸速度从数据里面取好了,就是在我对每两个点组合成一段polygon和对断点处理那里会花点时间,以及从容器里面循环取出来画polyline花时间。双缓冲感觉不太适用与这个场景,或者如果使用双缓冲具体应该如何使用,尽量给出一些具体点的方案,谢谢各路大神~

1个回答

一个嵌入设备,可能屏幕分辨率只有640x480,或者更低。那么你画得再精细,它也只能呈现出那样来。所以减少下数据点的采样数可以明显提高性能。

尽量用折线图,再不行用虚线图,避免大量像素点的填充,又节约了一些性能开销。

使用双缓冲,让图按照一定的时间间隔刷新,而不是忽快忽慢,虽然速度还是一样,但是用户就感觉不到卡了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!