Это может зависеть от того, «как долго» вы хотите подождать, прежде чем выпускать свою игру.
Trolls / Qt сейчас заново выполняет свой «графический стек»: вместо исторического «каждого виджета»"Renders -self" (что является неправильной парадигмой для игр и многофункциональных мобильных приложений), они повторно внедряются в единый графический стек, который отображает интерфейс WHOLE, где сами "виджеты" являются простыми наборами данных, которые передаются в рендеринг.,Короче говоря, цель состоит в том, чтобы сделать настольные / мобильные приложения с той же производительностью, что и у высококлассных игр на протяжении десятилетий (с их собственным графическим стеком, который совсем не похож на типичный графический стек X/Xlib/Motif/Xvt/Win/MFC/Qt
приложений).Кроме того, планы Qt5 (в планировании / разработке сейчас, они требуют релиз в следующем году) зависят от OpenGL для реализации этого графического стека.
После этой работы конвейер будет: Widgets==>QML==>(C++ Graphics Stack)==>Hardware
.В настоящее время (Qt 4 и предыдущий) это: QML==>Widgets==>(C++ Graphics Stack)==>Hardware
.
Вы можете зайти в Google для различных сообщений / обсуждений по этому вопросу, или вот длинная презентация, в которой говорится об этих усилиях: http://qt.nokia.com/developer/learning/online/talks/developerdays2010/tech-talks/performance-do-graphics-the-right-way/
ИМХО, QML имеет больше смысла для игр, поскольку компоненты интерфейса являются "независимыми действующими лицами" (например, не привязанными друг к другу с помощью макетов).Вот почему QML имеет гораздо больше смысла для мобильных устройств (где недвижимость стоит премиум-класса) и для очень ярких настольных приложений (хотя он все еще относительно молод и не проверен для этого).
В QML уже есть многопараметры рендеринга / анимации, но они в основном очень богатые 2D (но с помощью которых вы можете довольно хорошо имитировать 3D).Сейчас QML 3D претерпевает серьезные изменения, но новый материал выглядит действительно хорошо (и работает на OpenGL).Так что, если вам нужен тяжелый 3D, на данный момент это может быть время экспериментов, пока вы не увидите новые интерфейсы Qt5 и не сможете воспользоваться аппаратным ускорением (в зависимости от того, сколько 3D вам нужно).
ПроизводительностьСпецификации, которые я видел в новом Qt5 с новым графическим стеком (в разработке прототипов), довольно впечатляют, настолько, что я думал о том, чтобы написать некоторые игры на QML, чтобы просто поиграть с ним.Если бы это было через двенадцать месяцев (или около того, после выпуска Qt5), я бы поспорил, что QML будет лучшим / самым простым решением для игр (поскольку компоненты являются независимыми действующими лицами, его так просто использовать, иЯ вставил бы все специфические для игры тяжелые вещи в C ++, что действительно легко сделать с QML сверху).