回帖:总结一下:
QWidget paint:
默认是软件渲染,最慢;
利用QOpenGLPaintDevice,可以在不改变代码的情况下实现一定的硬件加速,提高性能;
最快的方式,是不用Qt的Painter,直接用Qt的opengl的api,但是代码也最麻烦。
QWidget Graphics View :
本身用软件渲染的速度也很快;
也能设置硬件加速,提高性能;
Quick Canvas
Quick QQuickPaintedItem
他们本身也用了一定的硬件加速;速度适中;
可以设置参数,进一步硬件加速, 但也不是速度最快的;
Quick QQuickItem :
Qt的场景图绘制,本身用了opengl,本身就很快;(但代码本身也麻烦)
直接用opengl的api,最快,也最麻烦。
最终结论:
QWidget,就用Graphics View(开启硬件加速);
Qt Quick,就用QQuickItem 的场景图(scene graph);
如果要追求极致的性能,用Qt提供的opengl的api,直接写。