Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In Windows 10, versione 1511 e successive, l'offload di oggetti di elaborazione audio (APO) è supportato. Oltre ai possibili miglioramenti delle prestazioni, è possibile risparmiare energia significativa quando si usano API scaricate dall'hardware.
Durante la riproduzione con scaricamento hardware è possibile caricare due tipi di APO.
- Effetti del flusso di scarico (OSFX)
- Effetti del modo di scarico (OMFX)
Panoramica degli effetti APO con accelerazione hardware
Elaborazione Audio a Livello Hardware e APO a Livello Hardware
In Windows 8, il motore audio è stato riprogettato per funzionare con flussi audio che sono stati scaricati in un dispositivo hardware separato da, ma connesso a, il sistema audio principale del computer. Questa operazione viene definita offload hardware. Per altre informazioni, vedere Hardware-Offloaded Elaborazione audio.
La funzionalità di offload hardware è destinata principalmente a scenari a basso consumo con dimensioni del buffer maggiori. Ad esempio, durante la riproduzione LPA (Low Power Audio) nei sistemi in grado di supportare, le dimensioni del buffer audio o la periodicità possono essere impostate su 1 secondo in modo che la CPU non si riattiva frequentemente per elaborare buffer di piccole dimensioni (ad esempio, ogni 10 millisecondi).
L'implementazione di APO offloaded a livello hardware, insieme all'elaborazione audio offloaded a livello hardware, offre la possibilità di massimizzare l'efficienza energetica.
Il diagramma seguente illustra l'architettura degli oggetti di elaborazione audio. Il lato destro del diagramma mostra un'applicazione che comunica con gli effetti OSFX e OMFX scaricati dall'hardware.
Implementazione di effetti APO scaricati dall'hardware
Un APO a scaricamento hardware deve seguire gli stessi requisiti di base e i principi di progettazione descritti in Architettura degli oggetti di elaborazione audio e Implementazione degli oggetti di elaborazione audio.
Linee guida per l'implementazione del formato audio supportate
Per le API scaricate dall'hardware, è necessario considerare alcuni aspetti aggiuntivi per i formati audio supportati.
Ogni APO implementa il metodo IAudioProcessingObject::IsInputFormatSupported che viene usato durante la compilazione del grafico audio per determinare il formato audio di output e se è necessaria una conversione di formato.
HRESULT IsInputFormatSupported(
[in, optional] IAudioMediaType *pOppositeFormat,
[in, optional] IAudioMediaType *pRequestedInputFormat,
[out, optional] IAudioMediaType **ppSupportedInputFormat
);
L'endpoint di scaricamento del rendering può supportare una varietà di formati, incluso il formato predefinito supportato dal rendering dei pin di sistema/host. Un Offload APO deve supportare tutti questi formati in modo che il rendering dei flussi (con i formati supportati) non debbano eseguire alcuna conversione di formato aggiuntiva.
Un offload SFX può implementare conversioni di formato e accettare una gamma più ampia di formati. Ad esempio, se Offload SFX fornisce le virtualizzazione delle cuffie (ad esempio, convertire l'audio del canale 5.1 in stereo), deve restituire S_OK per la coppia di input/output appropriata in questo metodo.
Un SFX di offload dovrebbe esaminare i formati supportati dal pin di offload e collaborare per supportare ed estendere le funzionalità.
L'offload MFX non può modificare il formato del flusso di input, ma deve comunque supportare la varietà di formati offerti dall'endpoint di offload ed eliminare qualsiasi conversione di formato non necessaria.
Durante il rendering nel pin di offload, solo un flusso è attivo su tale pin e pertanto non esiste alcuna combinazione di flussi. Quindi, l'elaborazione dell'audio a livello di flusso e modalità non è necessaria. Pertanto, non è necessario attivare gli effetti audio sia come effetto di stream che come effetto di modalità. Gli endpoint offloaded supporteranno più flussi e, a seconda dell'architettura di elaborazione per un sistema, l'elaborazione offload potrebbe dover essere inserita in SFX/MFX.
Voci di file INF
Implementare le voci seguenti del file INF per definire gli effetti che verranno caricati durante la riproduzione con offload. La chiave della proprietà del file INF istruisce il generatore di endpoint audio a impostare i CLSID per gli APO scaricati nell'archivio delle proprietà degli effetti. Queste informazioni vengono usate per compilare il grafico audio che verrà usato per informare le app di livello superiore quali effetti sono presenti.
Chiave della proprietà | Identificatore Unico Globale (GUID) |
---|---|
PKEY_FX_Offload_StreamEffectClsid | {D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},11 |
PKEY_FX_Offload_ModeEffectClsid | {D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},12 |
PKEY_SFX_Offload_ModalitàDiElaborazione_Supportate_Per_Streaming | {D3993A3F-99C2-4402-B5EC-A92A0367664B},11 |
PKEY_MFX_Offload_ProcessingModes_Supported_For_Streaming | {D3993A3F-99C2-4402-B5EC-A92A0367664B},12 |
Argomenti correlati
Implementazione di oggetti di elaborazione audio
Oggetti di elaborazione audio di Windows