2013-04-28 131 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