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.
I driver Windows Display Driver Model (WDDM) 1.3 e versioni successive possono supportare miglioramenti delle prestazioni di rendering di Microsoft Direct3D che consentono all'hardware Direct3D 9 di usare meglio i buffer e i contatori dei comandi hardware e di creare copie efficienti della memoria di sistema nelle sottorisorse. Queste funzionalità, che rispecchiano alcune delle funzionalità disponibili per l'hardware Direct3D versione 10, sono nuove a partire da Windows 8.1.
Sono disponibili anche nuovi miglioramenti delle prestazioni predefinite per il taglio e la mappatura delle risorse di Direct3D 11.1. Lo scenario predefinito della mappa è descritto nella sezione Modifiche del comportamento seguente.
Informazioni di riferimento sulle prestazioni di rendering
Questa sezione di riferimento descrive le interfacce dei driver in modalità utente.
Funzioni delle prestazioni di rendering Direct3D implementate dal driver in modalità utente
Questa sezione contiene funzioni implementate da un driver di visualizzazione Windows Display Driver Model (WDDM) 1.3 e versioni successive per supportare i miglioramenti delle prestazioni di rendering di Microsoft Direct3D.
PFND3DDDI_FLUSH1: PFND3DDDI_CHECKCOUNTERINFO
PFND3DDDI_CHECKCOUNTER: PFND3DDDI_UPDATESUBRESOURCEUP
Strutture ed enumerazioni delle prestazioni di rendering Direct3D
Queste strutture e enumerazioni in modalità utente supportano i miglioramenti delle prestazioni di rendering e sono nuove o aggiornate per Windows 8.1. Tutti si applicano ai driver Direct3D Level 9, ad eccezione di D3D11_1_DDI_FLUSH_FLAGS.
- D3DDDI_FLUSH_FLAGS (nuovo)
- D3DDDIARG_COPYFLAGS (nuovo)
- D3DDDIARG_COUNTER_INFO (nuovo)
- D3DDDIARG_UPDATESUBRESOURCEUP (nuovo)
- D3DDDICAPS_SIMPLE_INSTANCING_SUPPORT (nuovo)
- CreateResource2 (I driver WDDM 1.3 e versioni successive di Direct3D Level 9 devono restituire il codice di errore E_INVALIDARG se è impostato il valore del flag CaptureBuffer)
- D3D11_1_DDI_FLUSH_FLAGS (D3DWDDM1_3DDI_TRIM_MEMORY costante è stata aggiunta)
- D3DDDI_DEVICEFUNCS (membri pfnFlush1, pfnCheckCounterInfo, pfnCheckCounter, pfnUpdateSubresourceUP aggiunti)
- D3DDDI_POOL (costante D3DDDIPOOL_STAGINGMEM aggiunta)
- D3DDDICAPS_TYPE (D3DDDICAPS_GET_SIMPLE_INSTANCING_SUPPORT costante aggiunta)
- GetCaps (nuove informazioni nella sezione Osservazioni)
Requisiti di implementazione DDI a partire da WDDM 1.3
A partire da WDDM 1.3, per implementare i driver in modalità utente sono necessarie o facoltative le funzioni seguenti.
| Gruppo di funzioni | Descrizione |
|---|---|
Funzioni Direct3D 9 facoltative prima di WDDM 1.3. Ora obbligatorio: |
|
Funzioni Direct3D 9 disponibili a partire da WDDM 1.3. Un driver deve implementare tutte queste funzioni o nessuna di esse: |
|
Quando vengono implementate immediatamente le funzioni facoltative WDDM 1.3 e successive, queste funzioni hanno associato modifiche al comportamento: |
Questi scenari si applicano quando viene chiamato GetCaps :
|
Queste funzioni Direct3D 11 hanno associato modifiche al comportamento: |
|
Modifiche del comportamento per le chiamate alle funzioni di creazione, mappatura e unmapping delle risorse
Per queste funzioni implementate dai driver WDDM 1.3 e versioni successive, il runtime Direct3D fornisce un set limitato di valori di input per lo scenario predefinito della mappa. Questi valori limitati si applicano solo ai driver che supportano il livello di funzionalità 11.1 e versioni successive.
Funzione CreateResource(D3D11)—
Questi membri della struttura di input D3D11DDIARG_CREATERESOURCE sono limitati:
| Membro | Descrizione |
|---|---|
ResourceDimension e utilizzo |
Queste modifiche di comportamento si applicano solo quando il runtime Direct3D fornisce il tipo D3D10DDIRESOURCE_BUFFER per ResourceDimension e il tipo D3D10_DDI_USAGE_DEFAULT per Utilizzo. |
BindFlags |
Il runtime Direct3D imposta solo i valori D3D10_DDI_BIND_SHADER_RESOURCE e D3D11_DDI_BIND_UNORDERED_ACCESS . |
MapFlags |
Se vengono soddisfatti tutti gli altri requisiti dei membri elencati qui, il runtime può impostare D3D10_DDI_MAP_READ, D3D10_DDI_MAP_WRITE e D3D10_DDI_MAP_READWRITE valori. Il driver deve supportare questi valori. I valori di D3D10_DDI_MAP_WRITE_DISCARD e D3D10_DDI_MAP_WRITE_NOOVERWRITE non sono validi. |
MiscFlags |
Il runtime imposta solo i valori D3D11_DDI_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS e D3D11_DDI_RESOURCE_MISC_BUFFER_STRUCTURED . |
Formato |
Il runtime imposta solo il valore DXGI_FORMAT_UNKNOWN . |
SampleDesc |
Il runtime imposta il membro Count di DXGI_SAMPLE_DESC a 1 e il membro Quality a zero. |
MipLevels |
Il runtime imposta il valore su 1. |
ArraySize |
Il runtime imposta il valore su 1. |
pPrimaryDesc |
Il runtime imposta il valore su NULL. |
Questi parametri di input per ResourceMap sono limitati:
| Parametro | Descrizione |
|---|---|
hResource |
Il runtime Direct3D imposta solo una risorsa D3D10DDIRESOURCE_BUFFER quando viene impostato un valore diverso da zero per MapFlags nella chiamata di creazione a CreateResource(D3D11). |
Il runtime imposta solo il valore DXGI_FORMAT_UNKNOWN . |
|
Sottorisorsa |
Il runtime imposta solo il valore su 0. |
DDIMap |
Se vengono soddisfatti tutti gli altri requisiti dei membri elencati qui, il runtime può impostare D3D10_DDI_MAP_READ, D3D10_DDI_MAP_WRITE o D3D10_DDI_MAP_READWRITE valori, corrispondenti al valore MapFlags impostato nella chiamata di creazione a CreateResource(D3D11) . |
bandiere |
Anche se il valore di input del runtime non è limitato, il driver deve essere in grado di supportare il valore D3D10_DDI_MAP_FLAG_DONOTWAIT . |
pMappedSubResource |
Anche se il valore di input dal runtime non è limitato, il driver deve assegnare un puntatore valido memorizzabile nella cache della CPU al D3D10DDI_MAPPED_SUBRESOURCE. Membro pData e deve impostare RowPitch e DepthPitch in modo che corrisponda alle dimensioni del buffer e ai dati forniti in pData. |
Questi parametri di input per ResourceUnmap sono limitati:
| Parametro | Descrizione |
|---|---|
hDevice |
Anche se il valore di input del runtime Direct3D non è limitato, coincide con il valore hDevice della chiamata ResourceMap originale. |
hResource |
Il runtime imposta solo una risorsa D3D10DDIRESOURCE_BUFFER quando viene impostato un valore diverso da zero per MapFlags nella chiamata di creazione a CreateResource(D3D11). |
Sottorisorsa |
Il runtime imposta solo il valore su 0. |