Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-59809

Qt.callLater() not synced with the draw loop on Windows

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 5.8.0, 5.9.0 Beta 1
    • Thinkpad with Windows 8.1, Microsoft Surface with Windows 10, desktop with Ubuntu 14.04

    Description

      To avoid unnecessary computations, docs advise to use the Qt.callLater() function. On Linux the passed function gets evaluated after all bindings are complete, but before drawing the QML scene itself. However, on Windows, the function sometimes gets called later (or not at all?), causing visual glitching when updating bindings on every frame (for example, via a scrolling flickable). The problem seems to be even more pronounced when using a touch display.

      Attached a simple example. On Linux, the green rectangle stays still in the middle despite flicking the area. On Windows, there is visible glitching on the edges of the rectangle, as its position is not updated correctly.

      Attachments

        For Gerrit Dashboard: QTBUG-59809
        # Subject Branch Project Status CR V

        Activity

          People

            mbrasser Michael Brasser
            gkbarczyk Grzegorz Barczyk
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There is 1 open Gerrit change