MihanLee 2019-03-25 10:33 采纳率: 0%
浏览 1102
已结题

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

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

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

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

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-03-25 10:40
    关注

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

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

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

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!