首页| 论坛| 消息

回复: 这几种绘图方式,哪种性能更快?
#6 [wangjianxyz 05-27 14:27]
总结一下:
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,直接写。
#7 [tonyzhou1985 05-27 17:21]
1.Qt Quick 基于Graphics View;
2.Graphics View 可以用opengl加速 所用用Graphics View做那种cad是最适合的,但是要熟练才行。
#8 [dbzhang800 05-29 11:10]
1. Qt Quick 基于Graphics View。这是Qt4时代的事情了。Qt5.0引入的QtQucik2已经和QtWidgets下的GrapihcsView没关系了。

2. Graphics View使用opengl加速的效果不好。QCad,KLayout这种CAD开源软件都不用 GraphicsView。qelectrotech 这种电气图的倒是在用
#9 回 dbzhang800 的帖子 [wangjianxyz 05-29 18:45]
dbzhang800:1. Qt Quick 基于Graphics View。这是Qt4时代的事情了。Qt5.0引入的QtQucik2已经和QtWidgets下的GrapihcsView没关系了。

2. Graphics View使用opengl加速的效果不好。QCad,KLayout这种CAD开源软件都不用 GraphicsView。qelectrotech 这种电气图的倒是在用
....... (2024-05-29 11:10) 
那QCad用的是哪种Qt的绘图技术?
#10 [toby520 05-29 21:34]
Graphics View效果

<< 1 2 3 >> (2/3)

回复 发表
主题 版块