Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

QML performance on OS X 4K Scaled display is catastrophic



  • Hey all!

    I have noticed that QML performance on OS X MacBook PRO with external 4K monitor is using huge amount of CPU.

    Simple app (see below) doing two icon animations is using ~8-10% CPU on OS X (MacBook Pro i7 3.3GHz Intel Iris Graphics 550 1536 MB) and 0.5-1% on Windows.

    With more complex apps this is really problematic. CPU usage on OS X goes to 30% for example where Windows app is under 10%.

    Is this Intel GPU issue!?

    QT 5.12.8

    import QtQuick 2.12
    import QtQuick.Window 2.12

    Window {
    visible: true
    width: 1920
    height: 1080
    title: qsTr("Hello World")

    AnimatedSprite{
        anchors.left:parent.left
        anchors.leftMargin:25
        anchors.verticalCenter:parent.verticalCenter
        source:"qrc:/icon-spinning-animation.png"
        width:128;
        height: 128;
        frameWidth: 128
        frameHeight: 128
        frameCount: 120
        frameRate: 240
    
        interpolate:false
        frameSync: true
        loops:1000
    
    }
    
    AnimatedSprite{
        anchors.right:parent.right
        anchors.rightMargin:25
        anchors.verticalCenter:parent.verticalCenter
        source:"qrc:/icon-spinning-animation.png"
        width:128;
        height: 128;
        frameWidth: 128
        frameHeight: 128
        frameCount: 120
        frameRate: 240
    
        interpolate:false
        frameSync: true
        loops:1000
    
    }
    

    }************



  • @ALiEN_2 said in QML performance on OS X 4K Scaled display is catastrophic:

    MacBook Pro i7 3.3GHz Intel Iris Graphics 550

    Hey, yes this is an Intel Iris Graphics 550 "issue"
    It's only up for 60hz 4K so you'd have to lower framerate from game standards to tv standards in your app on an old graphics card.

    I guess frameSync should solve this though, so not sure what you're experiencing, saw some posts about rendering issues on older mac's using Qt5 vs Qt4, where Qt4 was flawless and Qt5 performed with issues.. might be the case here too



  • Interesting find....If I compile with XCode 9.4.1 compared to 11.3.1 performance is MUCH BETTER! I mean MUCH!

    I guess this explains it:

    On macOS, the threaded render loop is not supported when building with XCode 10 (10.14 SDK) or later, since this opts in to layer-backed views on macOS 10.14. You can build with Xcode 9 (10.13 SDK) to opt out of layer-backing, in which case the threaded render loop is available and used by default.

    https://doc.qt.io/qt-5.12/qtquick-visualcanvas-scenegraph.html


Log in to reply