Condividi tramite


Supporto dei controlli luminosità nei pannelli di visualizzazione integrati

I controlli luminosità vengono implementati nel driver di monitoraggio fornito dal sistema (Monitor.sys). In Windows Vista e Windows 7, il driver di monitoraggio:

  • Implementa un'interfaccia WMI (Windows Management Instrumentation) per consentire alle applicazioni ,ad esempio il dispositivo di scorrimento della luminosità del sistema operativo, di interagire con il livello di luminosità.
  • Esegue la registrazione con il motore DPPE (Device Power Policy Engine) in modo che i livelli di luminosità rispondano alle modifiche apportate ai criteri di risparmio energia.
  • Esegue la registrazione con Advanced Configuration and Power Interface (ACPI) per elaborare i tasti di scelta rapida basati su ACPI. Per la compatibilità con il modello di driver di visualizzazione di Windows 2000, il driver di monitoraggio implementa i controlli di luminosità basati su IOCTL.

Il driver miniport di visualizzazione o i metodi ACPI esposti dal sistema di input/output di base del sistema (BIOS) possono supportare la modifica della luminosità di un pannello di visualizzazione integrato. Per la prima destinazione video contrassegnata come con tecnologia di output che si connette internamente in un computer (D3DKMDT_VOT_INTERNAL), il driver di monitoraggio chiama la funzione DxgkDdiQueryInterface del driver miniport di visualizzazione per eseguire una query per entrambi i seguenti:

Se il driver miniport di visualizzazione non supporta almeno l'interfaccia di controllo luminosità, il driver di monitoraggio usa ACPI per eseguire una query per il _BCL, _BCM e _BQC metodi nel dispositivo figlio. Per ulteriori informazioni su questi metodi, vedere la specifica ACPI nel sito Web ACPI.

Nota

In Windows Display Driver Model (WDDM), un identificatore ACPI non viene usato per identificare un pannello di visualizzazione integrato. Questo comportamento è diverso da Windows 2000 Display Driver Model, che supporta solo i pannelli di visualizzazione con un identificatore di 0x0110.

Se il driver miniport di visualizzazione o i metodi ACPI esposti dal BIOS supportano i controlli di luminosità, il driver di monitoraggio esegue la registrazione per le notifiche ACPI dei tasti di scelta rapida per la luminosità. Non esiste alcun meccanismo alternativo per segnalare al driver di monitoraggio le notifiche dei tasti di scelta rapida. Se il driver di monitoraggio non può usare un meccanismo di controllo della luminosità o se il driver miniport dello schermo fornisce l'interfaccia di controllo della luminosità ma non riesce una chiamata alla funzione DxgkDdiGetPossibleBrightness , il driver di monitoraggio non supporta i controlli luminosità.

Livelli di luminosità

I livelli di luminosità sono rappresentati come valori a byte singolo nell'intervallo compreso tra zero e 100 dove zero è disattivato e 100 è la luminosità massima supportata da un computer portatile. Ogni computer portatile deve segnalare un livello di luminosità massimo di 100; Tuttavia, un computer portatile non è necessario per supportare un livello pari a zero.

L'unico requisito per i valori da zero a 100 è che i valori più grandi devono rappresentare livelli di luminosità più elevati. L'incremento tra i livelli non deve essere uniforme e un computer portatile può supportare qualsiasi numero di valori distinti fino al massimo 101 livelli. È necessario decidere come eseguire il mapping dei livelli hardware all'intervallo di valori del livello di luminosità. Tuttavia, una chiamata alla funzione DxgkDdiGetPossibleBrightness del driver miniport di visualizzazione non deve segnalare più valori del livello di luminosità rispetto all'hardware supportato dall'hardware.

Disabilitazione delle modifiche automatiche della luminosità da parte del BIOS

Per evitare problemi che potrebbero verificarsi se il BIOS di sistema e il driver di monitoraggio e la luminosità del pannello di visualizzazione del pannello di controllo, il driver miniport di visualizzazione deve impostare bit 2 dell'argomento sul metodo _DOS. Per ulteriori informazioni sul metodo _DOS e sui relativi argomenti, vedere la specifica ACPI. Impostando il bit 2, il BIOS di sistema viene informato che non deve eseguire alcuna modifica automatica della luminosità.

Requisiti del BIOS per supportare i controlli di luminosità

Affinché il driver miniport dello schermo supporti il controllo della luminosità del pannello integrato in modo ottimale, il BIOS di sistema deve fornire gli elementi seguenti tramite l'ACPI.

Metodi di controllo luminosità

Un dispositivo pannello integrato deve supportare i metodi di controllo della luminosità ACPI (_BCL, _BCM e _BQC). _BCL e _BCM sono invariati dalla versione 1.0b della specifica ACPI; è possibile trovare le relative definizioni nella specifica ACPI 3.0 nelle sezioni B.6.2 e B.6.3. _BQC è facoltativo ed è definito nella specifica ACPI 3.0 nella sezione B.6.4. Per le definizioni dei livelli di luminosità, vedere Livelli di luminosità.

Di seguito sono riportati gli alias per i metodi di controllo della luminosità ACPI definiti in Dispmprt.h:

  • ACPI_METHOD_OUTPUT_BCLÂ : consente a Windows di eseguire una query su un elenco di livelli di luminosità supportati dai dispositivi di output dello schermo. Questo metodo è obbligatorio se è presente un LCD integrato e supporta i livelli di luminosità.
  • ACPI_METHOD_OUTPUT_BCMÂ : consente a Windows di impostare il livello di luminosità del dispositivo di output dello schermo. Windows imposterà solo i livelli segnalati dal metodo ACPI_METHOD_OUTPUT_BCL. Il metodo ACPI_METHOD_OUTPUT_BCM è necessario se viene implementato il metodo ACPI_METHOD_OUTPUT_BCL.

Disabilitazione del controllo automatico della luminosità del BIOS del sistema

Il BIOS di sistema deve supportare l'impostazione di bit 2 dell'argomento sul metodo _DOS nella scheda grafica per consentire la disattivazione delle modifiche automatiche della luminosità del BIOS del sistema. Questo bit è un'aggiunta ai valori definiti in precedenza per i bit in questo metodo. Per informazioni dettagliate su questo bit, vedere la sezione B.4.1 nella specifica ACPI 3.0.

Se questo bit non è supportato, il driver di monitoraggio e il BIOS di sistema possono entrambi modificare il livello di luminosità, con conseguente sfarfallio di luminosità. Inoltre, la luminosità potrebbe essere impostata su un valore che non è quello richiesto dall'utente.

ACPI_METHOD_DISPLAY_DOS, definito in Dispmprt.h, è l'alias per il metodo di controllo automatico della luminosità ACPI. Questo alias indica che il BIOS di sistema è in grado di cambiare automaticamente l'output dello schermo attivo o di controllare la luminosità dell'LCD. Il parametro può essere uno dei valori seguenti.

Valore Significato
ACPI_ARG_ENABLE_AUTO_LCD_BRIGHTNESS Il BIOS di sistema deve controllare automaticamente il livello di luminosità dell'LCD quando l'alimentazione cambia da AC a DC.
ACPI_ARG_DISABLE_AUTO_LCD_BRIGHTNESS Il BIOS di sistema non deve controllare automaticamente il livello di luminosità dell'LCD quando l'alimentazione cambia da AC a DC.

Notifiche dei tasti di scelta rapida per la luminosità

Le notifiche dei tasti di scelta rapida per la luminosità devono essere destinate al dispositivo del pannello di visualizzazione integrato, non alla scheda grafica.

Le notifiche seguenti sono supportate come definito in Dispmprt.h:

Notifica Significato
ACPI_NOTIFY_CYCLE_BRIGHTNESS_HOTKEY L'utente ha premuto il tasto di scelta rapida per la luminosità dello schermo del ciclismo.
ACPI_NOTIFY_INC_BRIGHTNESS_HOTKEY L'utente ha premuto il tasto di scelta rapida per aumentare la luminosità dello schermo.
ACPI_NOTIFY_DEC_BRIGHTNESS_HOTKEY L'utente ha premuto il tasto di scelta rapida per ridurre la luminosità dello schermo.
ACPI_NOTIFY_ZERO_BRIGHTNESS_HOTKEY L'utente ha premuto il tasto di scelta rapida per ridurre la luminosità dello schermo a zero.

Queste notifiche dei tasti di scelta rapida sono state nuove per la specifica ACPI 3.0 e sono descritte nella sezione B.7. In genere, un computer portatile non supporta tutte queste notifiche di tasti di scelta rapida.

Per le notifiche di ACPI_NOTIFY_INC_BRIGHTNESS_HOTKEY e ACPI_NOTIFY_DEC_BRIGHTNESS_HOTKEY, il comportamento predefinito del driver di monitoraggio consiste nell'aumentare la luminosità almeno del 5% (o decrementare la luminosità di almeno cinque percento inferiore) rispetto al livello di luminosità precedente fino a raggiungere il livello di cinque gradi disponibile successivo (5, 10, 15, ..., 95, 100). L'incremento o la decrementazione con i tasti di scelta rapida possono creare modelli asimmetrici nei livelli di luminosità, come illustrato negli esempi seguenti.

  • Disponibile _BCL livelli di controllo della luminosità specificati come 0, 1, 5, 10, ..., 95, 100

    • Risultati che usano la notifica di ACPI_NOTIFY_INC_BRIGHTNESS_HOTKEY:
      0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

    • Risultati che usano la notifica di ACPI_NOTIFY_DEC_BRIGHTNESS_HOTKEY:
      100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, 0

  • Disponibile _BCL livelli di controllo della luminosità specificati come 1, 5, 10, ..., 95, 100

    • Risultati che usano la notifica di ACPI_NOTIFY_INC_BRIGHTNESS_HOTKEY:
      1, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

    • Risultati che usano la notifica di ACPI_NOTIFY_DEC_BRIGHTNESS_HOTKEY:
      100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, 1

    Nell'ultimo esempio, 1 è l'ultimo valore disponibile, quindi il driver imposta il livello di luminosità su 1 anche se è minore di cinque unità percentuali diverse dal valore precedente di 5.

Un oem o IHV può modificare il comportamento predefinito del driver di monitoraggio in Windows Vista e Windows 7 impostando un valore DWORD per MinimumStepPercentage nella chiave del Registro di sistema seguente:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\monitor\Parameters\

Supporto dell'output di visualizzazione e degli eventi ACPI