Sdílet prostřednictvím


D3DCREATE

Kombinace jednoho nebo více příznaků, které řídí chování při vytváření zařízení.

#define Popis
D3DCREATE_ADAPTERGROUP_DEVICE Aplikace požádá zařízení o řízení všech hlav, které tento hlavní adaptér vlastní. Příznak je u adaptérů bezmasteru neplatný. Pokud je tento příznak nastaven, parametry prezentace předané CreateDevice by měly odkazovat na pole D3DPRESENT_PARAMETERS. Počet prvků v D3DPRESENT_PARAMETERS by se měl rovnat počtu adaptérů definovaných členem NumberOfAdaptersInGroup D3DCAPS9 struktury. Modul runtime DirectX přiřadí každý prvek každé hlavice v číselném pořadí určeném adapterOrdinalInGroup člen D3DCAPS9.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT Direct3D bude místo ovladače spravovat prostředky. Volání Direct3D nebudou neúspěšná kvůli chybám prostředků, jako je nedostatek paměti videa.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX Stejně jako D3DCREATE_DISABLE_DRIVER_MANAGEMENT bude Direct3D místo ovladače spravovat prostředky. Na rozdíl od D3DCREATE_DISABLE_DRIVER_MANAGEMENT D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX vrátí chyby pro podmínky, jako je nedostatek paměti videa.
D3DCREATE_DISABLE_PRINTSCREEN Způsobí, že modul runtime neregistruje klávesové zkratky pro tiskovou obrazovku, Ctrl-Printscreen a Alt-Printscreen zachytí obsah plochy nebo okna.
Rozdíly mezi Direct3D 9 a Direct3D 9Ex:
Tento příznak je k dispozici pouze v Režimu Direct3D 9Ex.

 

D3DCREATE_DISABLE_PSGP_THREADING Omezte výpočty na hlavní vlákno aplikace. Pokud příznak není nastavený, modul runtime může provádět zpracování vrcholů softwaru a další výpočty v pracovním vlákně, aby se zlepšil výkon systémů s více procesory.
Rozdíly mezi windows XP a Windows Vista:
Tento příznak je k dispozici v systémech Windows Vista, Windows Server 2008 a Windows 7.

 

D3DCREATE_ENABLE_PRESENTSTATS Povolí shromažďování aktuálních statistik na zařízení. Volání GetPresentStatistics vrátí platná data.
Rozdíly mezi Direct3D 9 a Direct3D 9Ex:
Tento příznak je k dispozici pouze v Režimu Direct3D 9Ex.

 

D3DCREATE_FPU_PRESERVE Nastavte přesnost pro výpočty s plovoucí desetinnou čárkou Direct3D na přesnost použitou volajícím vláknem. Pokud tento příznak nezadáte, direct3D ve výchozím nastavení nastaví režim s jednoduchou přesností na nejbližší ze dvou důvodů:
  • Režim dvojité přesnosti sníží výkon Direct3D.
  • Části Direct3D předpokládají, že výjimky jednotek s plovoucí desetinnou čárkou jsou maskované; zrušením dotazování těchto výjimek může vést k nedefinovanýmu chování.
D3DCREATE_HARDWARE_VERTEXPROCESSING Určuje zpracování vrcholu hardwaru.
D3DCREATE_MIXED_VERTEXPROCESSING Určuje smíšené zpracování vrcholů (software i hardware). Pro Windows 10 verze 1607 a novější se nedoporučuje používat toto nastavení. Viz D3DCREATE_SOFTWARE_VERTEXPROCESSING.
D3DCREATE_SOFTWARE_VERTEXPROCESSING Určuje zpracování vrcholů softwaru. Pro Windows 10 verze 1607 a novější se nedoporučuje používat toto nastavení. Použijte D3DCREATE_HARDWARE_VERTEXPROCESSING.

Poznámka:
Pokud není k dispozici zpracování vrcholů hardwaru, nedoporučuje se ve Windows 10 verze 1607 (a novějších verzích) použití softwarového zpracování vrcholů, protože efektivita zpracování vrcholů softwaru se výrazně snížila a zároveň zlepšila zabezpečení implementace.

 
D3DCREATE_MULTITHREADED Označuje, že aplikace požaduje, aby byla Direct3D bezpečná pro vícevláknové. Díky tomu může vlákno Direct3D převzít vlastnictví globálního oddílu kritické častěji, což může snížit výkon. Pokud aplikace zpracovává zprávy okna v jednom vlákně při provádění volání rozhraní API Direct3D v jiném, musí aplikace při vytváření zařízení použít tento příznak. Toto okno musí být také zničeno před uvolněním d3d9.dll.
D3DCREATE_NOWINDOWCHANGES Označuje, že Direct3D nesmí nijak měnit okno fokusu.

Poznámka:
Pokud je tento příznak nastavený, musí aplikace plně podporovat všechny události správy fokusu, například ALT+TAB a události kliknutí myší.

 
D3DCREATE_PUREDEVICE Určuje, že Direct3D nepodporuje volání Get* pro cokoli, co může být uloženo ve stavových blocích. Říká také Direct3D, aby neposkytoval žádné emulační služby pro zpracování vrcholů. To znamená, že pokud zařízení nepodporuje zpracování vrcholů, může aplikace používat pouze po transformaci vrcholů.
D3DCREATE_SCREENSAVER Umožňuje ukládání obrazovek během aplikace na celou obrazovku. Bez tohoto příznaku Direct3D zakáže ukládání obrazovek tak dlouho, dokud je volající aplikace na celé obrazovce. Pokud už volající aplikace je screensaver, tento příznak nemá žádný vliv.
Rozdíly mezi Direct3D 9 a Direct3D 9Ex:
Tento příznak je k dispozici pouze v Režimu Direct3D 9Ex.

 

 

D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING a D3DCREATE_SOFTWARE_VERTEXPROCESSING se vzájemně vylučují příznaky. Při volání CreateDevicemusí být zadán alespoň jeden z těchto příznaků zpracování vrcholů.

Informace o konstantě

Požadavek Hodnota
Záhlaví D3D9.h
Minimální operační systém Windows 98

 

konstant Direct3D