26 votes

Signification de IODisplayWrangler dans les assertions de gestion de l'énergie

Lorsque je vérifie mes assertions de gestion de l'énergie (MacBook Pro exécutant MacOS Sierra), je vois la ligne suivante :

$ sudo pmset -g assertions
...
Idle sleep preventers: IODisplayWrangler

Qu'est-ce que IODisplayWrangler et qu'est-ce que cela signifie qu'il est répertorié comme un "empêcheur de dormir au ralenti" ?

32voto

augurar Points 793

Il s'avère que cette partie de l'OS est source ouverte . (Le lien est pour MacOS 10.12.6, mais d'autres versions sont disponibles).

La lecture du code révèle que l'IODisplayWrangler est une classe qui s'interface avec le système de gestion de l'énergie afin de gérer la luminosité de l'écran. Elle détecte l'activité de l'utilisateur et s'en sert pour déterminer quand faire varier la luminosité des écrans, les allumer ou les éteindre. Lorsque l'écran est allumé, la classe définit une assertion du noyau qui empêche la mise en veille. Il est donc normal de voir IODisplayWrangler comme un empêcheur de sommeil au ralenti lorsque l'écran est allumé.

Selon les propres termes des développeurs :

/*
    This is the Power Management policy-maker for the displays.  It senses when
    the display is idle and lowers power accordingly.  It raises power back up
    when the display becomes un-idle.

    It senses idleness with a combination of an idle timer and the "activityTickle"
    method call.  "activityTickle" is called by objects which sense keyboard activity,
    mouse activity, or other button activity (display contrast, display brightness,
    PCMCIA eject).  The method sets a "displayInUse" flag.  When the timer expires,
    this flag is checked.  If it is on, the display is judged "in use".  The flag is
    cleared and the timer is restarted.

    If the flag is off when the timer expires, then there has been no user activity
    since the last timer expiration, and the display is judged idle and its power is
    lowered.

    [...]

    This driver calls the drivers for each display and has them move their display
    between various power states. When the display is idle, its power is dropped
    state by state until it is in the lowest state.  When it becomes un-idle it is
    powered back up to the state where it was last being used.

    [...]

    We register with Power Management only so that we can be informed of changes in
    the Power Management aggressiveness factor.  We don't really have a device with
    power states so we implement the absolute minimum. The display drivers themselves
    are part of the Power Management hierarchy under their respective frame buffers.
*/

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X