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

As a Qt user I would like to use Qt API to make my app running more efficiently on the new Apple (Silicon) hardware

    XMLWordPrintable

Details

    • User Story
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.1.0
    • Core: Threads
    • macOS

    Description

      The arrival of new products using the new Apple Silicon platform resulted in a few important "aha" effects. One of them is very impressive power efficiency of the new M1-based MacBooks. As an M1 user, I can confirm: it is completely outstanding.

      I can imagine that Qt developers targeting MacOS, and even iOS, which are now becoming multi-platform too, would like to see their app running in the best form and not being spotted as still consuming too much CPU on such an efficient platform.

      According various sources, one of the key factors of this efficiency is the use of QoS (Quality of Service) available as API in MacOS for some while. It seems, they are used in certain combination with the POSIX API for the thread priorities. The newer versions of MacOS (I guess, starting from Big Sur) use these classes to assign threads to different kinds of CPU cores. The M1 MacBook Pro 13", for example, has 4 Performance and 4 Efficiency cores. In practice, most platform services, and Apple apps run on Efficiency cores during "regular", low-activity, MacBook use, such as Mail, Safari, writing text, etc. I observe, it correlates directly to the very low battery use.

      I believe it would be appealing for Qt developers to be able to use QoS directly from Qt or even combined in a certain way with the classical POSIX APIs.

      Some References:

      Attachments

        Issue Links

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

          Activity

            People

              vestbo Tor Arne Vestbø
              vminenko Vladimir Minenko
              Vladimir Minenko Vladimir Minenko
              Alex Blasche Alex Blasche
              Votes:
              2 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes