D3DCREATE

Kombinasi satu atau beberapa bendera yang mengontrol perilaku pembuatan perangkat.

#define Deskripsi
D3DCREATE_ADAPTERGROUP_DEVICE Aplikasi meminta perangkat untuk mendorong semua kepala yang dimiliki adaptor master ini. Bendera ilegal pada adaptor nonmaster. Jika bendera ini diatur, parameter presentasi yang diteruskan ke CreateDevice harus menunjuk ke array D3DPRESENT_PARAMETERS. Jumlah elemen dalam D3DPRESENT_PARAMETERS harus sama dengan jumlah adaptor yang ditentukan oleh anggota NumberOfAdaptersInGroup dari struktur D3DCAPS9 . Runtime DirectX akan menetapkan setiap elemen ke setiap kepala dalam urutan numerik yang ditentukan oleh anggota AdapterOrdinalInGroup dari D3DCAPS9.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT Direct3D akan mengelola sumber daya alih-alih driver. Panggilan Direct3D tidak akan gagal untuk kesalahan sumber daya seperti memori video yang tidak cukup.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX Seperti D3DCREATE_DISABLE_DRIVER_MANAGEMENT, Direct3D akan mengelola sumber daya alih-alih driver. Tidak seperti D3DCREATE_DISABLE_DRIVER_MANAGEMENT, D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX akan mengembalikan kesalahan untuk kondisi seperti memori video yang tidak mencukup.
D3DCREATE_DISABLE_PRINTSCREEN Menyebabkan runtime tidak mendaftarkan hotkey untuk Printscreen, Ctrl-Printscreen dan Alt-Printscreen untuk mengambil konten desktop atau jendela.
Perbedaan antara Direct3D 9 dan Direct3D 9Ex:
Bendera ini hanya tersedia di Direct3D 9Ex.

 

D3DCREATE_DISABLE_PSGP_THREADING Batasi komputasi ke utas aplikasi utama. Jika bendera tidak diatur, runtime dapat melakukan pemrosesan verteks perangkat lunak dan komputasi lain dalam utas pekerja untuk meningkatkan performa pada sistem multi-prosesor.
Perbedaan antara Windows XP dan Windows Vista:
Bendera ini tersedia di Windows Vista, Windows Server 2008, dan Windows 7.

 

D3DCREATE_ENABLE_PRESENTSTATS Memungkinkan pengumpulan statistik saat ini pada perangkat. Panggilan ke GetPresentStatistics akan mengembalikan data yang valid.
Perbedaan antara Direct3D 9 dan Direct3D 9Ex:
Bendera ini hanya tersedia di Direct3D 9Ex.

 

D3DCREATE_FPU_PRESERVE Atur presisi untuk perhitungan floating-point Direct3D ke presisi yang digunakan oleh utas panggilan. Jika Anda tidak menentukan bendera ini, Direct3D default ke mode round-to-nearest presisi tunggal karena dua alasan:
  • Mode presisi ganda akan mengurangi performa Direct3D.
  • Bagian dari Direct3D mengasumsikan pengecualian unit floating-point ditutupi; membatalkan pembongkaran pengecualian ini dapat mengakibatkan perilaku yang tidak terdefinisi.
D3DCREATE_HARDWARE_VERTEXPROCESSING Menentukan pemrosesan puncak perangkat keras.
D3DCREATE_MIXED_VERTEXPROCESSING Menentukan pemrosesan vertex campuran (perangkat lunak dan perangkat keras). Untuk Windows 10, versi 1607 dan yang lebih baru, penggunaan pengaturan ini tidak disarankan. Lihat D3DCREATE_SOFTWARE_VERTEXPROCESSING.
D3DCREATE_SOFTWARE_VERTEXPROCESSING Menentukan pemrosesan puncak perangkat lunak. Untuk Windows 10, versi 1607 dan yang lebih baru, penggunaan pengaturan ini tidak disarankan. Gunakan D3DCREATE_HARDWARE_VERTEXPROCESSING.

Catatan:
Kecuali pemrosesan puncak perangkat keras tidak tersedia, penggunaan pemrosesan puncak perangkat lunak tidak direkomendasikan dalam Windows 10, versi 1607 (dan versi yang lebih baru) karena efisiensi pemrosesan puncak perangkat lunak berkurang secara signifikan sambil meningkatkan keamanan implementasi.

 
D3DCREATE_MULTITHREADED Menunjukkan bahwa aplikasi meminta Direct3D menjadi aman multithread. Hal ini membuat utas Direct3D mengambil kepemilikan atas bagian kritis globalnya lebih sering, yang dapat menurunkan performa. Jika aplikasi memproses pesan jendela dalam satu utas saat melakukan panggilan API Direct3D di utas lain, aplikasi harus menggunakan bendera ini saat membuat perangkat. Jendela ini juga harus dihancurkan sebelum membongkar d3d9.dll.
D3DCREATE_NOWINDOWCHANGES Menunjukkan bahwa Direct3D tidak boleh mengubah jendela fokus dengan cara apa pun.

Catatan:
Jika bendera ini diatur, aplikasi harus sepenuhnya mendukung semua peristiwa manajemen fokus, seperti ALT+TAB dan peristiwa klik mouse.

 
D3DCREATE_PUREDEVICE Menentukan bahwa Direct3D tidak mendukung panggilan Get* untuk apa pun yang dapat disimpan dalam blok status. Ini juga memberi tahu Direct3D untuk tidak menyediakan layanan emulasi apa pun untuk pemrosesan vertex. Ini berarti bahwa jika perangkat tidak mendukung pemrosesan puncak, maka aplikasi hanya dapat menggunakan simpul pasca-transformasi.
D3DCREATE_SCREENSAVER Memungkinkan screensaver selama aplikasi layar penuh. Tanpa bendera ini, Direct3D akan menonaktifkan screensaver selama aplikasi panggilan layar penuh. Jika aplikasi panggilan sudah menjadi screensaver, bendera ini tidak berpengaruh.
Perbedaan antara Direct3D 9 dan Direct3D 9Ex:
Bendera ini hanya tersedia di Direct3D 9Ex.

 

 

D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING, dan D3DCREATE_SOFTWARE_VERTEXPROCESSING adalah bendera yang saling eksklusif. Setidaknya salah satu bendera pemrosesan puncak ini harus ditentukan saat memanggil CreateDevice.

Informasi Konstanta

Persyaratan Nilai
Header D3D9.h
Sistem operasi minimum Windows 98

 

Konstanta Direct3D