Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt快速vs图形视图框架(QGraphicscene)_Qt_Qt5_Qgraphicsview_Qgraphicsscene_Qtquick2 - Fatal编程技术网

Qt快速vs图形视图框架(QGraphicscene)

Qt快速vs图形视图框架(QGraphicscene),qt,qt5,qgraphicsview,qgraphicsscene,qtquick2,Qt,Qt5,Qgraphicsview,Qgraphicsscene,Qtquick2,我浏览了Qt5和Qt Quick的新特性,但并不真正理解它与图形视图框架(QGraphicscene)特性方面的区别。它使用QML,但除此之外: Qt Quick能做QGraphicscene做不到的事情吗?比如说 Qt比Qgraphicscene快吗?“更快”意味着在显示1000个移动元素的同时获得更多的FPS 我正在制作一个塔防游戏,并且一直在使用QGraphicscene,现在我想知道是否应该切换到Qt Quick。Qt5和Qt Quick 2应该会提供一个不错的性能提升,这要感谢“场景图

我浏览了Qt5和Qt Quick的新特性,但并不真正理解它与图形视图框架(QGraphicscene)特性方面的区别。它使用QML,但除此之外:

  • Qt Quick能做QGraphicscene做不到的事情吗?比如说
  • Qt比Qgraphicscene快吗?“更快”意味着在显示1000个移动元素的同时获得更多的FPS

  • 我正在制作一个塔防游戏,并且一直在使用QGraphicscene,现在我想知道是否应该切换到Qt Quick。

    Qt5和Qt Quick 2应该会提供一个不错的性能提升,这要感谢“场景图”,它是底层引擎,基本上是为Qt Quick的Qt5从头开始编写的,以充分利用OpenGL,并且从一开始就将高帧率作为设计目标

    除了性能,我认为它是一个重要的特性,您可以用QML更好地描述GUI、转换、动画等。有一些学习曲线,写声明性的GUI代码与编写更直接的C++代码做类似的事情有很大的不同,但是它是完全值得的。 在Qt4中,我不认为QML会带来任何性能优势,因为我认为(现在没有验证)它写在QGraphicsView的顶部

    因此,总结一下:学习Qt5和qtquick2,学习QML来设计GUI。在游戏中用C++实现游戏逻辑(塔防游戏在极端情况下会发生相当多的事情)。 编辑:关于创建场景图实现的原因的博客(很旧,所以细节可能有些过时):

    你能提供任何基准或可靠的来源来显示场景图相对于图形视图的性能提高吗?@problemofficer也许,我添加了一个链接到一个旧博客,其中有一个基准图,其中显示了Qt4 QML1与Qt5 QML2 fps在一种情况下的差异。