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

    • macOS
    • Foundation Sprint 116, Foundation Sprint 117, Foundation Sprint 118, Foundation Sprint 119
    • 6013f82c9 (dev)

      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:

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

            manordheim MÃ¥rten Nordheim
            vminenko Vladimir Minenko
            Vladimir Minenko Vladimir Minenko
            Alex Blasche Alex Blasche
            Votes:
            2 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved:

                There is 1 open Gerrit change