这可能取决于您希望在发布游戏之前等待“多长时间”。
Trolls/Qt 现在正在重新构建它的“图形堆栈”:他们正在重新实现一个单一的渲染整个界面的图形堆栈,其中“小部件”本身只是提供给渲染的数据集。简而言之,我们的目标是使桌面/移动应用程序的性能与数十年来高端游戏完全相同(它们自己的图形堆栈看起来与典型的X/Xlib/Motif/Xvt/Win/MFC/Qt
应用程序图形堆栈完全不同)。此外,Qt5 计划(现在正在计划/开发中,他们声称明年某个时候发布)依赖于 OpenGL 来实现这个图形堆栈。
在这项工作之后,管道将是: Widgets==>QML==>(C++ Graphics Stack)==>Hardware
. 当前(Qt 4 和以前的版本)它是: QML==>Widgets==>(C++ Graphics Stack)==>Hardware
.
您可以在谷歌上搜索各种帖子/讨论,或者这是一个关于这些努力的长篇演讲:http: //qt.nokia.com/developer/learning/online/talks/developerdays2010/tech-talks/performance-以正确的方式做图形/
恕我直言,QML 对游戏更有意义,因为界面组件是“独立参与者”(例如,不通过布局相互关联)。这也是为什么 QML 对移动(房地产是溢价的)和非常华丽的桌面应用程序(尽管它仍然相对年轻且未经证实)更有意义的原因。
QML 已经有很多渲染/动画选项,但它们大多是非常丰富的 2D(但您可以很好地模拟 3D)。QML 3D 现在正在进行重大修订,但新的东西看起来非常好(并且位于 OpenGL 上)。因此,如果您想要重度 3D,目前可能是试验时间,直到您看到新的 Qt5 接口并可以利用硬件加速(取决于您需要多少 3D)。
我从带有新图形堆栈(在原型开发中)的新 Qt5 产品中看到的性能规格非常令人印象深刻,以至于我一直在考虑用 QML 编写一些游戏来玩它。如果这是从现在开始的 12 个月(或者在 Qt5 发布之后),我敢打赌 QML 将是游戏的最佳/最简单的决定(因为组件是独立的参与者,它使用起来非常简单,并且我会将所有特定于游戏的繁重东西都推到 C++ 中,这在 QML 之上真的很容易做到)。