是否有高人使用过 嵌入式平台上QGraphicsView 框架?调试跟踪发现刷新 QGraphicsView 的 item 会触发 paintEvent
自绘函数,但这个自绘过程使用了浮点,相当复杂,而且是不保留 painter 每次重绘还牵涉到了浮点矩阵运算,我将 item 最后的自绘 paint 重载直接返回,就是什么都不画,还是会吃掉很多 CPU(100 个item 每秒 5次刷新 吃掉 90%),这证明在 真正 paint 之前,CPU 就忙得不行了。我用的平台是 ARM9 + linux + Qt 4.6.3 是否这样的平台不合适用这样复杂的 QGraphicsView 这样的框架?还是有比较好的方法避免一些不必要的开销? 多谢!
------解决方案--------------------
up 我发现在对QGraphicsView缩放后刷新item会增加cpu占用
------解决方案--------------------
Use OpenGL for rendering ;)
QGLWidget *glWidget = new QGLWidget;
QGraphicsView *graphicsView = QGraphicsView;
graphicsView->setViewport(glWidget);
------解决方案--------------------
我最近遇到的问题和LZ很相似,CPU负荷大,鼠标卡的不行不行的,领导非叫我解决卡顿问题,不能提供OpenGL,我都愁了1个礼拜了 本周五的版本之前必须解决,我快疯了。
自绘过程的浮点运算肯定免不了,ARM11+Linux+Qt4.6 同样吃不消……
留个联系方式 我们交流下吧
------解决方案--------------------
QGraphicsView 要维护大量的矢量结构和他们之间的关系。
不知道你自己写一个类来维护你的矢量图形会不会节约一点
------解决方案--------------------