Condividi tramite


Servizio Utilità di pianificazione classi multimediali

Il servizio Utilità di pianificazione classi multimediali (MMCSS) consente alle applicazioni multimediali di garantire che l'elaborazione sensibile al tempo riceva l'accesso prioritario alle risorse DELLA CPU. Questo servizio consente alle applicazioni multimediali di utilizzare il maggior numero possibile di CPU senza negare le risorse della CPU alle applicazioni con priorità più bassa.

MMCSS usa le informazioni archiviate nel Registro di sistema per identificare le attività supportate e determinare la priorità relativa dei thread che eseguono queste attività. Ogni thread che esegue operazioni correlate a una determinata attività chiama la funzione AvSetMmMaxThreadCharacteristics o AvSetMmThreadCharacteristics funzione per informare MMCSS che sta lavorando a tale attività.

Per un esempio di programma che usa MMCSS, vedere Exclusive-Mode Streams.

Windows Server 2003 e Windows XP: MMCSS non è disponibile.

Impostazioni del Registro di sistema

Le impostazioni MMCSS vengono archiviate nella chiave del Registro di sistema seguente:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile

Questa chiave contiene un valore REG_DWORD denominato SystemResponsiveness che determina la percentuale di risorse della CPU che devono essere garantite per le attività con priorità bassa. Ad esempio, se questo valore è 20, 20% di risorse della CPU sono riservate per le attività con priorità bassa. Si noti che i valori che non sono divisibile uniformemente per 10 vengono arrotondati al multiplo più vicino di 10. Un valore pari a 0 viene considerato anche 10.

La chiave contiene anche una sottochiave denominata Tasks che contiene l'elenco di attività. Per impostazione predefinita, Windows supporta le attività seguenti:

  • audio
  • Capture
  • distribuzione
  • Giochi
  • riproduzione
  • Pro Audio
  • Window Manager

Gli OEM possono aggiungere attività aggiuntive in base alle esigenze.

Ogni chiave dell'attività contiene il set di valori seguente che rappresentano le caratteristiche da applicare ai thread associati all'attività.

Valore Formato Valori possibili
di affinità REG_DWORD Maschera di bit che indica l'affinità del processore. Sia 0x00 che 0xFFFFFFFF indicano che l'affinità del processore non viene usata.
solo sfondo REG_SZ Indica se si tratta di un'attività in background (nessuna interfaccia utente). I thread di un'attività in background non cambiano a causa di una modifica dello stato attivo della finestra. Questo valore può essere impostato su True o False.
BackgroundPriority REG_DWORD Priorità in background. L'intervallo di valori è 1-8.
frequenza di clock REG_DWORD Hint usato da MMCSS per determinare la granularità della pianificazione delle risorse del processore.Windows Server 2008 e Windows Vista: Frequenza di clock massima garantita utilizzata dal sistema se un thread unisce questa attività, in intervalli di 100 nanosecondi. A partire da Windows 7 e Windows Server 2008 R2, questa garanzia è stata rimossa per ridurre il consumo di energia del sistema.
priorità GPU REG_DWORD Priorità GPU. L'intervallo di valori è 0-31. Questa priorità non viene ancora usata.
priorità REG_DWORD Priorità dell'attività. L'intervallo di valori è compreso tra 1 (basso) e 8 (alto). Per le attività con una categoria di pianificazione alta, questo valore viene sempre considerato come 2.
categoria pianificazione REG_SZ Categoria di pianificazione. Questo valore può essere impostato su Alto, Medio o Basso.
priorità SFIO REG_SZ Priorità di I/O pianificata. Questo valore può essere impostato su Inattiva, Bassa, Normale o Alta. Questo valore non viene utilizzato.

 

Nota

Per risparmiare energia, le applicazioni non devono impostare la risoluzione del timer a livello di sistema su un valore ridotto, a meno che non sia assolutamente necessario. Per altre informazioni, vedere performance nella guida per sviluppatori di Windows 7 .

 

Priorità thread

MMCSS aumenta la priorità dei thread che lavorano su attività multimediali ad alta priorità.

MMCSS determina la priorità di un thread usando i fattori seguenti:

  • Priorità di base dell'attività.
  • Parametro Priority della funzioneAvSetMmThreadPriority.
  • Indica se l'applicazione è in primo piano.
  • Quantità di tempo della CPU usata dai thread in ogni categoria.

MMCSS imposta la priorità dei thread client a seconda della categoria di pianificazione.

Categoria Priorità Descrizione
Alto 23-26 Questi thread vengono eseguiti con priorità di thread inferiori solo a determinate attività a livello di sistema. Questa categoria è progettata per le attività Pro Audio.
Medio 16-22 Questi thread fanno parte dell'applicazione in primo piano.
Basso 8-15 Questa categoria contiene il resto dei thread. Sono garantite una percentuale minima delle risorse della CPU, se necessario.
1-7 Questi thread hanno usato la quota della risorsa CPU. Possono continuare a essere eseguiti se non sono pronti per l'esecuzione thread con priorità bassa.