QT QGraphicsView、QGraphicsScene和QGraphicsItem和OpenGL的使用问题
请教一个问题:是关于QT中 QGraphicsView、QGraphicsScene和QGraphicsItem使用的问题。
假设:我做一个游戏,在游戏中存在三个物体,自定义了3个QGraphicsItem子类,每个子类中都在paint函数中都使用OpenGL描画各自的一个物体。目前就我所知道的机制是当QGraphicsScene有变化时,会把事件传送给每个QGraphicsItem;假如三个物体只有一个物体需要对描画的内容改变,那么按现有的机制三个QGraphicsItem的paint函数都会被调用到,也就是说其他两个QGraphicsItem也被重新描画了,其实这是浪费性能的,因为其他两个物体并不需要重新描画,只要保持之前的图画就可以了。
我式过在其他两个QGraphicsItem的paint函数被调用时我什么也不做,那样也是不行的,如果不重新描画,这两个QGraphicsItem之前的图就没有了。
想请教一下怎么可以解决这个问题,即当有一个QGraphicsItem需要变化时,其他QGraphicsItem不重新描画也可以保持之前的图像?
如果能解决我的问题,我可以再加分,谢谢!