Forums

OverviewFelgo 2 Support (Qt 5) › QT / Felgo for large visual apps ..? Jittery results?

Tagged: , , , , , , ,

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #21597

    Felgo User

    I’ve got a basic question about visual performance in Qt/QML/Felgo I’m hoping I can get some advice/insight into:

    I’ve been developing some client-use apps in Qt/QML for iOS (iPad), made a couple for 1080p touchscreen displays, but I’m not getting great visual performance in the Desktop apps.

    A lot of these apps involve full-screen JPG images, with swipeable galleries (using swipeview, flickable, etc) and typically run on large touchscreens off of new Mac Minis. Currently though, even a simple app loading full-screen 1920×1080 jpg images into a swipeview, or using Property animation to move these large image on/off the screen is giving a definite “jittery: look. Even a simple Swipeview loading images asynchonously via a repeater does not look anywhere near as buttery-smooth as I’d expect from a GPU enabled framework (base Qt/QML). The same concepts put to work on Adobe AIR produce very smooth animations, but something seems off  – a stuttering slow framerate look when built in Qt.

     

    Questions:

    Is there an enhancement by using Felgo that would improve the look of animating large images on desktop?

    Am I doing something wrong to begin with?

     

    All  thoughts appreciated (and yes I did try asking this on the Qt forum with little response).

    Thanks!

    #21607

    Günther
    Felgo Team

    Hi,

    we do not extend the Qt/QML Animation feature set and rendering within the Felgo SDK. However, for e.g. Sprite Animations, we offer support for TexturePacker, which improves the required memory consumption for sprite animations.

    Regular Property Animations of QML items are fully handled within Qt. However, you can have a look at the Animator QML types in addition to Animation types:

    https://doc.qt.io/qt-5/qml-qtquick-animator.html

    Animators are more performant, as they directly work on the Qt Quick scene graph, instead of modifying Item properties like the regular Animation types. At least for custom animations, this can help to improve animation performance.

    I guess there’s no simple way to improve performance of default Qt types like SwipeView.

    Best,
    Günther

    #21608

    Felgo User

    Hi Gunther – thanks for your response!

    I am making use of animators as well (PropertyAnimation, OpacityAnimation, etc), and when publishing to iOS the result is great. The problem appears to be that when run on desktop, when moving a large JPG or PNG image around the screen (ie – a simple right-to-left transition, using PropertyAnimation with easing), the movement has the appearance of stuttering and uneven speed – appears to be a framerate/Vsync/etc issue more than anything.

     

    Some of our projects are moving from Adobe AIR/Flash, which I would consider to be pretty outdated for desktop support, to Qt, but the smoothness of animation in Qt is severely lacking when moving photos and images around.

     

    If I were building a game with Qt/Felgo this would be a red flag immediately, which is what I need to figure out to decide if this is the right framework to invest in!

     

    FYI – we’re working with 5.12, tested on High Sierra and Mojave.

    #21609

    Felgo User

    ** SOLVED IT ! ***

     

    Thanks for your input on this – doing some diagnostics I realized that on Mac desktop the threaded renderer is not being used by default (which… huh??).

     

    So I would think for a game framework this would be important to know and immediately put out there – what I needed was this:

     

    qputenv("QSG_RENDER_LOOP", "threaded");

     

    … and now it looks perfect.

     

    #21612

    Günther
    Felgo Team

    Hi,

    thanks a lot for the update and your research!

    I’ll forward your findings to the Team!

    Best,
    Günther

Viewing 5 posts - 1 through 5 (of 5 total)

RSS feed for this thread

You must be logged in to reply to this topic.

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support