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

Improve exec loop handling for webassembly

    XMLWordPrintable

Details

    Description

      Currently exec loop handling has issues with 'child loops', secondary MainWindows and local event loops.

      More details on the Issue: Currently exec loop handling has issues with nested event loops, for example when displaying dialogs. It could also cause 100% cpu usage and application freezeing when used on a secondary thread.
      Solution: Patches have been done to allow main threads to run using asyncify - Asyncify automatically transforms your compiled code into a form that can be paused and resumed, and handles pausing and resuming for you, so that it is asynchronous (hence the name “Asyncify”) even though you wrote it in a normal synchronous way. Event loop can be run on the secondary thread.
       In testing CPU load reduced from 100% to 2% in problematic cases.
      This feature enables many other things such as sockets on a secondary thread

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              sorvig Morten Sørvig
              lpotter Lorn Potter
              Veli-Pekka Heinonen Veli-Pekka Heinonen
              Votes:
              15 Vote for this issue
              Watchers:
              25 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes