Condividi tramite


Qualità del servizio

La qualità del servizio (QoS) associata a un thread viene usata per indicare le prestazioni desiderate e l'efficienza energetica. Ogni thread viene assegnato a un livello QoS. Mentre la priorità di pianificazione rimane la metrica principale in base alla quale il sistema determina il thread da pianificare successivo, QoS può influenzare la selezione dei core e il risparmio energia del processore. Nelle piattaforme con processori eterogenei, il QoS di un thread può limitare la pianificazione a un subset di processori o indicare una preferenza per una determinata classe di processore.

Gli sviluppatori potrebbero già impiegare altre strutture per controllare quando eseguire, ad esempio quando l'utente non è presente, solo su AC/carica o a seconda del livello della batteria. QoS offre una funzionalità che influisce sulla modalità di esecuzione. Questa funzionalità può aiutare a migliorare l'efficienza della CPU e quindi estendere la durata della batteria. Inoltre, questo processo può contribuire a ridurre il consumo di energia della CPU durante l'utilizzo dell'alimentazione AC per ridurre l'output termico che può causare un rumore elevato della ventola o persino una limitazione termica.

Qualità dei livelli di servizio

Il sistema gestisce più livelli QoS, ognuno con prestazioni differenziate ed efficienza energetica. Windows fornisce impostazioni predefinite standard per la pianificazione e il risparmio energia del processore per ogni livello QoS. L'ottimizzazione precisa di ogni livello QoS per il risparmio energia del processore e la pianificazione eterogenea possono essere modificate tramite il provisioning di Windows. Per altre informazioni sull'ottimizzazione delle prestazioni e sul provisioning, vedere opzioni di risparmio energia processore.

Livello QoS Descrizione Prestazioni e potenza Rilascio
Alto Applicazioni con finestre in primo piano e in primo piano o udibili e contrassegnano in modo esplicito i processi con SetProcessInformation o thread con SetThreadInformation Prestazioni elevate standard. 1709
Medio Applicazioni finestra che possono essere visibili all'utente finale, ma che non sono in stato attivo. Varia in base alla piattaforma, tra Alta e Bassa. 1709
Basso Applicazioni con finestra non visibili o udibili per l'utente finale. Sulla batteria, seleziona la frequenza della CPU e le pianificazioni più efficienti per un core efficiente. 1709
Utilità Servizi in background Sulla batteria, seleziona la frequenza della CPU e le pianificazioni più efficienti per core efficienti. Windows 11 22H2
Eco Applicazioni che contrassegnino in modo esplicito i processi con SetProcessInformation o thread con SetThreadInformation. Seleziona sempre la frequenza e le pianificazioni più efficienti della CPU per core efficienti. Windows 11
Media I thread contrassegnati in modo esplicito dal servizio utilità di pianificazione della classe multimediale per indicare il buffer batch multimediale. Frequenza cpu ridotta per l'elaborazione batch efficiente. 2004
Scadenza I thread contrassegnati in modo esplicito da servizio Utilità di pianificazione classi multimediali per indicare che i thread audio richiedono prestazioni per rispettare le scadenze. Prestazioni elevate per rispettare le scadenze dei media. 2004

Classificazione qualità dei servizi

La tabella seguente illustra le classificazioni QoS supportate.

Fonte Descrizione
Multimedia Foundation Il servizio utilità di pianificazione della classe multimediale assegna priorità alle risorse DELLA CPU per gli scenari multimediali. Il servizio contrassegna thread specifici responsabili dell'elaborazione multimediale usando i livelli QoS media e scadenza per garantire un'efficienza energetica rispettando le scadenze delle prestazioni.
API SetProcessInformation consente agli sviluppatori di contrassegnare in modo esplicito un processo come HighQoS o EcoQoS attivando o disattivando la funzionalità di PROCESS_POWER_THROTTLING_EXECUTION_SPEED in ProcessPowerThrottling.
SetThreadInformation consente agli sviluppatori di contrassegnare in modo esplicito un thread come HighQoS o EcoQoS attivando o disattivando la funzionalità di THREAD_POWER_THROTTLING_EXECUTION_SPEED in ThreadPowerThrottling .
Udibile I processi che sono determinati per la riproduzione dell'audio sono HighQoS.
Visibile Ai processi che possiedono direttamente una finestra (o sono discendenti di processi proprietari di finestre) viene assegnato un livello QoS in base alla visibilità e allo stato attivo:

Stato finestraQualità del servizio
In stato attivoAlto
VisibileMedio
Ridotta a icona o completamente bloccataBasso
Euristico Ai thread non classificati dalle origini precedenti viene assegnato automaticamente un livello QoS dal sistema. Queste euristiche includono (ma non solo) la priorità del thread, in cui i thread in esecuzione con priorità di thread ridotta possono implicare un livello QoS inferiore.