SwipeView animation sluggish on Odroid EGLFS platform



  • SwipeView animation is sluggish on Odroid EGLFS compared to running on X11. I cannot use X11 since there is significant visual tearing on this platform and I haven't found a way to fix that. (In EGLFS there is no tearing). Also in EGLFS, on every swipe, the following messages get printed when logging is enabled:

    qt.scenegraph.general: Using sg animation driver
    qt.scenegraph.general: animation driver switched to vsync mode
    qt.scenegraph.general: animation driver switched to timer mode
    ... 
    

    Why is the driver switching modes? Shouldn't it stay tied to vsync? I have tried the following:

    • If I set QT_QPA_EGLFS_FORCEVSYNC, animation becomes even more sluggish and appears jerky (as if the display were updating at 20 fps or so). The log message printed is just animation driver switched to timer mode printed once. It doesn't toggle betn vsync and timer, and is not emitted on every swipe.
    • QT_QPA_EGLFS_SWAPINTERVAL does not do anything
    • QML_BAD_GUI_RENDER_LOOP does not do anything either

    This post seemed relevant: https://forum.qt.io/topic/24416/qml-scenegraph-rendering-performance-on-eglfs but the solution there is what I have already tried (FORCEVSYNC) and it doesn't work. Is there a way to fix this?


Log in to reply