QT绘制大量的数据,有啥好的方法?

wey580231 2014-03-17 09:36:45
最近的一个的项目,要从文本中就所绘制的点读取到内存中,点的数量在54*54*58*36这样的数量级上。而且要支持拖动事件,我想请问下有啥优化的方法,要是每次都重新绘的话,时间会很慢。
...全文
2036 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Inhibitory 2014-03-24
  • 打赏
  • 举报
回复
用Qwt啊,不过6,088,608的确挺多的,画出来也看不清,但是Qwt还是能轻松画出来 确定?有没有实验过?
尘中远 2014-03-24
  • 打赏
  • 举报
回复
用Qwt啊,不过6,088,608的确挺多的,画出来也看不清,但是Qwt还是能轻松画出来,支支持拖动,放大,各种,具体见:http://blog.csdn.net/czyt1988/article/details/11999985 另外,还有一个qt的绘图控件叫QCustomPlot,你可以看看这篇文章 http://blog.csdn.net/czyt1988/article/details/10143141
wey580231 2014-03-20
  • 打赏
  • 举报
回复
引用 7 楼 Inhibitory 的回复:
用QGraphicsView/Scene Framework可以处理这么多数据。 试过100万个图元的缩放,拖动,选择没有问题。 QGraphicsView/Scene Framework 只绘制看得到的图元,与图元总量无关。 可见的图元越多,就会越卡。
好的,我来试一试,先谢谢了!
Inhibitory 2014-03-20
  • 打赏
  • 举报
回复
用QGraphicsView/Scene Framework可以处理这么多数据。 试过100万个图元的缩放,拖动,选择没有问题。 QGraphicsView/Scene Framework 只绘制看得到的图元,与图元总量无关。 可见的图元越多,就会越卡。
nlstone 2014-03-19
  • 打赏
  • 举报
回复 1
这个和你的业务关联很紧密,没有什么绝对的好办法。 双缓冲本身的目的在于:1 解决闪烁 2 局部刷新以后,原图还可以充分使用不必大范围重绘 Qt本身是带双缓冲的 如果要在1920 * 1280上面显示所有的数据,“可能”需要对你的数据进行处理后分层缓存,在一定的缩放比例下使用缓存数据(不会有400MB那么大),刷新尽量使用局部刷新,注意使用失效矩形和当前窗口暴露范围来计算。 虽然是2D数据, 不过使用opengl/directX来享用硬件的加速也是一个不错的方向,特别在opengl下面的无极缩放效率是GDI不能比的。
  • 打赏
  • 举报
回复
可以参考多尺度的显示模式,建立显示内容的金字塔
sourire_will 2014-03-18
  • 打赏
  • 举报
回复
使用QGraphicsItem试一试
wopabe 2014-03-18
  • 打赏
  • 举报
回复
使用Qt自带的数据库试试。
accsoar 2014-03-18
  • 打赏
  • 举报
回复
你说清楚些,2d图像绘制?显示区域多大等等?
wey580231 2014-03-18
  • 打赏
  • 举报
回复
引用 1 楼 accsoar 的回复:
你说清楚些,2d图像绘制?显示区域多大等等?
是二维绘图,屏幕分辨率在1920*1280.整个需要绘制的数据大小在400M左右,因为要支持拖放和缩放,所以要是全部都画出来的话可能会比较慢,那QT有没有类似于双缓冲?或者其它的优化的方法。

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧