2013-04-28 63 views
6

我浏览了Qt5和Qt Quick的新特性,并没有真正理解它与图形视图框架(QGraphicsScene)的不同之处。它使用QML但除此之外:Qt Quick与图形视图框架(QGraphicsScene)

  1. 可以Qt快速做一些QGraphicsScene不能?例如particle effects
  2. Qt Quick比QGraphicsScene快吗? “更快”意味着更多FPS,同时显示1000个移动元素?

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

回答

7

Qt5和Qt Quick 2应该会提供很好的性能提升,这要归功于“场景图”,它是底层引擎,基本上是从Qt5的Qt Quick开始编写的,以充分利用OpenGL,并具有高帧率从一开始就作为设计目标。

除了性能,我认为它是一个很重要的功能,您可以用QML更好地描述GUI,转场,动画等等。有一些学习曲线,编写声明式GUI代码与编写更直接的C++代码来完成类似的事情完全不同,但它是完全值得的。

在Qt4中,我认为QML不会给出任何性能优势,因为我认为(现在没有验证)它在顶部QGraphicsView上写了。

所以,总结一下:去Qt5和Qt Quick2,学习QML来设计GUI。在C++中完成游戏逻辑以提高性能(塔防游戏在极端情况下可能会发生相当多的事情)。

编辑:博客(老这样可能会稍微超出详细日期)为什么然后场景图的实现创建: http://blog.qt.io/blog/2011/05/31/qml-scene-graph-in-master/

+0

您可以提供显示_scene的性能提升任何基准或值得信赖的来源graph_比较到_graphics view_? – problemofficer 2013-06-23 06:11:33

+0

@problemofficer也许,我添加了一个旧博客的链接,该博客有一个基准图,它显示了一个案例的Qt4 QML1与Qt5 QML2 fps的区别。 – hyde 2013-06-23 18:42:04