Importancia de IODisplayWrangler en aserciones de administración de energía

Cuando reviso mis aserciones de administración de energía (MacBook Pro corriendo macOS Sierra), veo la siguiente línea:

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

¿Qué es IODisplayWrangler y qué significa que aparece en la list como "impedimento de sueño inactivo"?

  • ¿Qué sigue despertando mi Mac del sueño?
  • MacBook Pro se iniciará solo después de un reinicio de SMC
  • Cambia el comportamiento del sueño en MacBook Pro e ignora las configuraciones en Yosemite
  • ¿Por qué Intel Power Gadget congela por completo el sistema?
  • ¿Cuál es la configuration de "activación de acceso a la networking wifi" en las preferences de energía?
  • ¿Funciona "horario pmset wake" cuando la tapa está cerrada a la hora designada?
  • ¿El intercambio de pantalla en Sierra es seguro, es decir, una connection completamente encriptada?
  • Wake On Lan (WOL) iMac 2009 El Capitan, Sierra, no funciona
  • ¿El trabajo de Cron falla debido al wifi para dormir?
  • Instalación de doble arranque Sierra y Kali-Linux
  • Actualización incremental de Sierra 10.12.6 capturada en el bucle de reinicio
  • Permitir aplicaciones descargadas desde cualquier lugar en macOS Sierra
  • One Solution collect form web for “Importancia de IODisplayWrangler en aserciones de administración de energía”

    Resulta que esta parte del sistema operativo es de código abierto . (El enlace es para macOS 10.12.6, pero hay otras versiones disponibles).

    La lectura del código revela que IODisplayWrangler es una class que interactúa con el sistema de administración de energía para administrar el brillo de la pantalla. Detecta la actividad del usuario y lo usa para determinar cuándo atenuar, encender o apagar las pantallas. Cuando la pantalla está encendida, la class establece una aserción del kernel que evita la inactividad. Por lo tanto, ver IODisplayWrangler como un impedimento de reposo es normal cuando la pantalla está encendida.

    En las propias palabras de los desarrolladores:

     /* 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 cleanetworking 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 lowenetworking. [...] 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 powenetworking 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. */ 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).