QQuickFramebufferObject eats CPU and battery as a horse

  • I'm trying to implement a OpenGL item in QML using QQuickFramebufferObject . I noticed that QQuickFramebufferObject eats CPU like a horse even if render function is not implemented. The CPU core usage is always 100% and in addition to that it eats battery very fast. If there are 3-4 such items, the programm begins to lag ( Windows 7 Core i7). The same problem is in the Scene Graph - Rendering FBOs example. How can I take updating under control?

  • Lifetime Qt Champion

    Hi and welcome to devnet,

    You should also add which version of Qt your are using.

  • Kubuntu 14 Qt5.5; Windows 7 Qt5.3.1 & Qt5.4 (tested on 2 PC's) ), Android 4.2.1. One core is always 100% (even in idle state), but when I disable FB item, the usage is 0%

  • Lifetime Qt Champion


    Then you should consider upgrading to 5.6 IIRC, there was some work done on the performance side.

  • Unfortunately 5.6 has the same bug. In addition to that it spams this message: "libpng warning: iCCP: known incorrect sRGB profile" and sometimes crashes with: "QQmlEngine: Illegal attempt to connect to QQmlDMAbstractItemModelData(0x332dc7b8) that is in a different thread than the QML engine QQmlEngine(0x198f870.", this happens in a single-threaded application.

    Well, seems QML is just not for portable devices.

  • Lifetime Qt Champion

    The libpng warning comes from libpng, nothing Qt can do about it.

    The QML engine crash is unrelated to libpng warning.

    Can you reproduce this crash with a simple app ?

    What do you mean by portable devices ? QML applications run on the RPi, BeagleBoneBlack, i.MX boards or iOS and android based phone.