Important: Please read the Qt Code of Conduct -

Qt 5.8 and QPainter based rendering

  • Greetings Qt community,

    I'm currently working on a feasability using embedded hardware (Xilinx Zynq).
    It has no dedicated GPU so I'm experimenting with:

    • Qt 4.8.7 (QtQuick 1.0)
    • Qt 5.8 with OpenGL (QtQuick 2.0).
    • Qt 5.8 with QtQuick 2D (QtQuick 2.0).

    I'm building a multitouch interface with extensive use of scaling (for transitions inside Row(s) or ListView(s)).
    To make it clean I'm using a custom QML component that renders SVG with the QPainter (based on QQuickPaintedItem for Qt 5).

    This is what I get with a 3.0 scale:

    alt text

    • Qt 4 does a good job at scaling SVG(s) or anything QPainter based.

    • I suspect that Qt 5 just caches a static texture for a given QQuickPaintedItem and simply scales it.
      This gives a blurry output on both Qt 5 OpenGL and Software (QtQuick 2D).

    Is there a way to force Qt 5 and QQuickPaintedItem to scale without using its blurry texture cache ?

    Note: I'm a little bit surprised about the transition to QtQuick 2.0. The performance are there but they come with a significant graphical tradeof. Having a scenegraph, shaders and particles is cool but it shouldn't come at the expense of basic 2d rendering.

    Let me know If I'm missing something,

    Thanks !

  • Lifetime Qt Champion


    I'd recommend bringing this question to the interest mailing list. You'll find there Qt's developers/maintainers. This forum is more user oriented.

Log in to reply