Learn what Felgo offers to help your business succeed. Start your free evaluation today! Felgo for Your Business

Forums

OverviewFelgo SDK Support › Choppy Frame Transitions and Animation Tearing iOS

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #25317

    Glenn

    I’ve recently deployed an app to iOS using the latest Felgo (6.4.1). Overall, fantastic framework. It’s my first time.

    I’m using your basic navigation system, which transitions between stack “push” and “pop” with slide in/out animations. On MacOS, the side-to-side animations are smooth. 60-120 FPS, VSync is clear and active. Same with Windows smooth. On iOS, the slide animations appear to be dropping frames, choppy, and Vsync seems to disabled or off. Threaded rendering appears to be active on all platforms. At least, I set the flag in CMakeLists.txt explicitly.

    When I run the Felgo Live client, I see the same schoppy behavior, even on desktop. When I run the native client on desktop, it’s smooth. Can someone clarify the difference in behavior between iOS and MacOS in terms of fluidity of animation or rendering? I’m on the latest iPhone 15 Pro Max, so frames above 60 fps is possible.

    #25320

    Günther
    Felgo Team

    Hi Glenn,

    We have observed higher CPU loads on macOS/iOS when QML animations are running – probably due to the way Qt rendering works on these systems. This can also result in lagging if e.g. several animations are running. Though for the stack transition we did not notice heavy lags yet, but I assume it could be caused by the same issue.

    We already created a Qt bug report for it: https://bugreports.qt.io/browse/QTBUG-123337

    Best,
    Günther

    #25327

    Glenn

    Thanks for the update @Gunther. I’ll see what comes from the bug report.

    #25362

    Glenn

    I have some follow up information on this topic. The issue I’m seeing is that mobile animations are playing considerably faster than desktop. This is jarring when it comes to page transitions, and causes object tearing, and other artifacts. I suspect the mobile animations are 2-3x faster than desktop.

    This topic on the scene graph explains how some animations can play faster than expected on a given system, depending on the underlying system timers. I’m still trying to get to the bottom of why iOS is playing so much faster, and what I can do about it. The iPhone i’m using is rendering at over 100Hz most of the time, and so is my desktop (120 Hz, give or take). It seems the iPhone struggles with pacing, whereas the desktop is smooth. I see the same issue on the iPhone simulator.

    This brief screen capture shows how fast iOS is animating on an iPhone simulator: https://drive.google.com/file/d/1N5vOJbYtTGzu0F-nRc6zqDCR_Senc2-J/view?usp=sharing

    This screen capture is the same basic app, but on OSX, and the animations are much smoother (and slower). The difference should e visibly obvious: https://drive.google.com/file/d/1u9SF8PbDToUf3si6ryMb73Ft88GDx5A7/view?usp=drive_link

    Thoughts?

     

     

    #25363

    Glenn
    #25365

    Günther
    Felgo Team

    Hi Glenn,

    do you see the same issue also with the Felgo Dev App from the iOS app store, when running some of the included Felgo demos?

    The page transition animations run normally there, at least on my test iPhone test device. Can you reproduce issues with the Felgo demos, or is only your own app affected?

    Best,
    Günther

    #25366

    Glenn

    Hey Gunther. This appears to be a per app issue. Another Felgo app I’m writing for a customer has correct animation pacing. I did a screen recording on macos, ios simulator, and iOS, and compared frame by frame. They match in terms of speed. The iOS simulator and iOS device appear to have issues with VSync, because there appears to be screen tearing during the page transition, to my eye, however the frames in the recording didn’t show this. Perhaps I’m fooling myself. MacOS page transitions simply appear smoother than mobile. Not sure if I can do anything about that.

    I’m not sure what the issue is with my other app. Those animations play nearly 3x faster on iOS vs desktop. I’ll do some more digging.

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

RSS feed for this thread

You must be logged in to reply to this topic.

Qt_Technology_Partner_RGB_475 Qt_Service_Partner_RGB_475_padded