From Qt Wiki
Jump to: navigation, search

What is the difference between Qt 4.8.x and Qt 5?

  • 4.8: QtQuick1, Javascript core, QWS (good) and QPA (not good)
  • 5.0: QtQuick2, v8, QPA, no QWS, QPA only supporting OpenGL and DirectFB backends

What is the difference between QPA and QWS and when should I use which?

  • In general use QWS on 4.8 and QPA on 5.0
  • Depending on the use-case QPA on 4.8 is a valid choice as well. Some important limitations and requirements are necessary to consider:
    • QPA on Qt4.8 only makes sense on OpenGL Hardware! If you don't have OpenGL HW there is absolutely no point in choosing Qt4.8-QPA over Qt4.8-QWS
    • If you have OpenGL HW, there are two distinct use-cases to consider:
      • single-process: The features and limits of QWS and QPA are similar. QWS is older, is therefor considered more stable. Arguments for QPA could be:
        • you have to work on the graphcis/platform-plugin because your OpenGL implementation need special threadment, and(!):
        • you're thinking about moving to Qt5
      • multi-process: There is currently no officially supported embedded(!) OpenGL-multi-process offering in Qt4.8. Implementing a platform-plugin for QPA is considered to be way simpler then writing QWS-graphics-plugins. Therefor Qt 4.8 QPA is the primary choice if you start your own platform-plugin or work on an existing platform plugin (e.g. the wayland-platform-plugin)

What are the technical differences between QtQuick 1 and QtQuick 2?

  • QtQuick 1 is the only choice for Qt4.7 and Qt4.8
  • QtQuick 2 comes with and is the primary choice for Qt5.x
  • QtQuick 2 is based on a complete new and tailor made graphics stack called scenegraph.
    • This leads to rendering performance of QtQuick2 which is a multiple of the rendering performance of QtQuick1
  • Both use the same language (QML) to declare a user interface
  • Although the language is the same, QtQuick2 comes with more and improved UI-elements (e.g. a complete new particle-engine)

When should I use OpenGL, OpenVG, DirectFB versus software rendering?

  • Use OpenGL and DirectFB for hardware acceleration in 4.8 or 5.0. OpenVG only works on 4.8 (it's a graphics system only tested on Symbian). Be aware of the hardware acceleration capabilities of your device: if you do something it can't accelerate you will end up with software rendering (not great performance).

What is the difference between Webkit 1 and Webkit 2 and how are they supported on Qt 4 and Qt 5?

  • Webkit 1 runs on both 4.8 and 5.0, Webkit2 only runs on 5.0. Qt Webkit2 is staying up to date with HTML5 features in (Qt Webkit 1 is not).

What are the options for implementing multimedia playback in Qt 4 and Qt 5?

  • The options are in-process and out-of-process. Most demos are using out-of-process today but if you implement in-process you can apply QtQuick effects to your media. (more from Bhooshan).

When should I use DirectFB versus Wayland?

  • In general this questions shouldn't be answered by "Qt" but by the silicon-vender (which should also be the one providing the BSP)
  • The questions is only valid if you want to use OpenGL-HW-acceleration (and you need multi-process)
  • Qt has wayland-platform-plugins for Qt4.8 and Qt5
  • The Qt5-wayland-plugin get more attention (then the one for Qt4.8) and should be on a par with wayland-development
  • [for holder: please comment the directfb-opengl state in Qt4/Qt5]

Is OpenVG supported in Qt5?

  • No (at least not unless you contribute it).

This category currently contains no pages or media.