2013-04-28 8 views
6

Ich habe die neuen Funktionen von Qt5 und Qt Quick überflogen und verstehe nicht wirklich, wie es sich vom Graphics View Framework (QGraphicsScene) unterscheidet. Es verwendet QML aber daneben:Qt Quick vs Graphics View Framework (QGraphicsScene)

  1. Kann Qt Quick etwas tun, das QGraphicsScene nicht kann? Zum Beispiel particle effects.
  2. Ist Qt Quick schneller als QGraphicsScene? "Faster" bedeutet mehr FPS bei 1000 beweglichen Elementen?

Ich mache ein Tower Defense-Spiel und haben QGraphicsScene benutze und jetzt frage ich mich, ob ich auf Qt Quick Switch sollte.

Antwort

7

Qt5 und Qt Quick 2 sollte eine nette Leistungssteigerung, dank "Szene Graph", die zugrunde liegende Engine und im Grunde für Qt Quick von Qt5 von Grund auf neu geschrieben, OpenGL nutzen und hohe Rahmen haben als Designziel von Anfang an bewerten.

Zusätzlich zu der Leistung, ich denke, es zählt als ein großes Feature, dass Sie die GUI, Übergänge, Animationen und alles, auf eine viel bessere Weise mit QML beschreiben können. Es gibt eine Lernkurve, das Schreiben von deklarativem GUI-Code ist ziemlich anders als das Schreiben von direktem C++ - Code, um ähnliche Dinge zu tun, aber es ist es absolut wert.

In Qt4 glaube ich nicht, dass QML irgendeinen Leistungsvorteil geben wird, da ich denke (nicht jetzt verifizieren), dass es oben auf QGraphicsView Zeug geschrieben wird.

Also, um zusammenzufassen: Gehen Sie für Qt5 und Qt Quick2, und lernen Sie QML für das Design der GUI. Lassen Sie die Spiellogik in C++ für die Leistung (Tower Defense Spiele können im Extremfall einiges passieren).

Edit: Blog (alt so kann leicht in Details veraltet sein), warum dann Szenengraph Implementierung erstellt wurde: http://blog.qt.io/blog/2011/05/31/qml-scene-graph-in-master/

+0

Können Sie Benchmarks oder vertrauenswürdige Quellen zur Verfügung stellen, die die Leistungssteigerung von _scene zeigt graph_ im Vergleich zu _graphics view_? – problemofficer

+0

@problemofficer Vielleicht habe ich einen Link zu einem alten Blog hinzugefügt, der ein Benchmark-Diagramm enthält, das Qt4 QML1 vs. Qt5 QML2 fps Unterschied für einen Fall zeigt. – hyde