Condividi tramite


D3DCREATE

Combinazione di uno o più flag che controllano il comportamento di creazione del dispositivo.

#define Descrizione
D3DCREATE_ADAPTERGROUP_DEVICE L'applicazione chiede al dispositivo di guidare tutte le teste di proprietà dell'adattatore master. Il flag non è valido per gli adattatori non master. Se questo flag è impostato, i parametri della presentazione passati a CreateDevice devono puntare a una matrice di D3DPRESENT_PARAMETERS. Il numero di elementi in D3DPRESENT_PARAMETERS deve essere uguale al numero di adattatori definiti dal membro NumberOfAdaptersInGroup della struttura D3DCAPS9 . Il runtime DirectX assegnerà ogni elemento a ogni head nell'ordine numerico specificato dal membro AdapterOrdinalInGroup di D3DCAPS9.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT Direct3D gestirà le risorse anziché il driver. Le chiamate Direct3D non avranno esito negativo per gli errori delle risorse, ad esempio memoria video insufficiente.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX Come D3DCREATE_DISABLE_DRIVER_MANAGEMENT, Direct3D gestirà le risorse anziché il driver. A differenza di D3DCREATE_DISABLE_DRIVER_MANAGEMENT, D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX restituirà errori per condizioni quali memoria video insufficiente.
D3DCREATE_DISABLE_PRINTSCREEN Fa sì che il runtime non registri i tasti di scelta rapida per Printscreen, Ctrl-Printscreen e Alt-Printscreen di acquisire il contenuto del desktop o della finestra.
Differenze tra Direct3D 9 e Direct3D 9Ex:
Questo flag è disponibile solo in Direct3D 9Ex.

 

D3DCREATE_DISABLE_PSGP_THREADING Limitare il calcolo al thread dell'applicazione principale. Se il flag non è impostato, il runtime può eseguire l'elaborazione dei vertici software e altri calcoli nel thread di lavoro per migliorare le prestazioni nei sistemi multiprocessore.
Differenze tra Windows XP e Windows Vista:
Questo flag è disponibile in Windows Vista, Windows Server 2008 e Windows 7.

 

D3DCREATE_ENABLE_PRESENTSTATS Abilita la raccolta delle statistiche presenti nel dispositivo. Le chiamate a GetPresentStatistics restituiranno dati validi.
Differenze tra Direct3D 9 e Direct3D 9Ex:
Questo flag è disponibile solo in Direct3D 9Ex.

 

D3DCREATE_FPU_PRESERVE Impostare la precisione per i calcoli a virgola mobile Direct3D sulla precisione usata dal thread chiamante. Se non si specifica questo flag, Direct3D per impostazione predefinita viene abilitata la modalità round-to-near più a precisione singola per due motivi:
  • La modalità a precisione doppia ridurrà le prestazioni direct3D.
  • Parti di Direct3D presuppongono che le eccezioni delle unità a virgola mobile siano mascherate; l'annullamento del mascheramento di queste eccezioni può comportare un comportamento non definito.
D3DCREATE_HARDWARE_VERTEXPROCESSING Specifica l'elaborazione dei vertici hardware.
D3DCREATE_MIXED_VERTEXPROCESSING Specifica l'elaborazione dei vertici misti (software e hardware). Per Windows 10, versione 1607 e successive, non è consigliabile usare questa impostazione. Vedere D3DCREATE_SOFTWARE_VERTEXPROCESSING.
D3DCREATE_SOFTWARE_VERTEXPROCESSING Specifica l'elaborazione dei vertici software. Per Windows 10, versione 1607 e successive, non è consigliabile usare questa impostazione. Usare D3DCREATE_HARDWARE_VERTEXPROCESSING.

Nota:
A meno che l'elaborazione dei vertici hardware non sia disponibile, l'utilizzo dell'elaborazione dei vertici software non è consigliato in Windows 10 versione 1607 (e versioni successive) perché l'efficienza dell'elaborazione dei vertici software è stata notevolmente ridotta migliorando la sicurezza dell'implementazione.

 
D3DCREATE_MULTITHREADED Indica che l'applicazione richiede direct3D come multithread safe. Questo rende più frequente un thread Direct3D proprietario della sezione critica globale, che può compromettere le prestazioni. Se un'applicazione elabora i messaggi di finestra in un thread durante l'esecuzione di chiamate API Direct3D in un'altra, l'applicazione deve usare questo flag durante la creazione del dispositivo. Questa finestra deve essere distrutta anche prima di scaricare d3d9.dll.
D3DCREATE_NOWINDOWCHANGES Indica che Direct3D non deve modificare la finestra dello stato attivo in alcun modo.

Nota:
Se questo flag è impostato, l'applicazione deve supportare completamente tutti gli eventi di gestione dello stato attivo, ad esempio ALT+TAB ed eventi clic del mouse.

 
D3DCREATE_PUREDEVICE Specifica che Direct3D non supporta le chiamate Get* per qualsiasi elemento che può essere archiviato nei blocchi di stato. Indica anche a Direct3D di non fornire alcun servizio di emulazione per l'elaborazione dei vertici. Ciò significa che se il dispositivo non supporta l'elaborazione dei vertici, l'applicazione può usare solo vertici post-trasformati.
D3DCREATE_SCREENSAVER Consente gli screen screenaver durante un'applicazione a schermo intero. Senza questo flag, Direct3D disabiliterà gli screen screenaver per tutto il tempo in cui l'applicazione chiamante è a schermo intero. Se l'applicazione chiamante è già uno screenaver, questo flag non ha alcun effetto.
Differenze tra Direct3D 9 e Direct3D 9Ex:
Questo flag è disponibile solo in Direct3D 9Ex.

 

 

D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING e D3DCREATE_SOFTWARE_VERTEXPROCESSING sono flag che si escludono a vicenda. Quando si chiama CreateDevice, è necessario specificare almeno uno di questi flag di elaborazione dei vertici.

Informazioni costanti

Requisito Valore
Intestazione D3D9.h
Sistema operativo minimo Windows 98

 

Costanti Direct3D