Itu tergantung pada apakah Anda ingin merancang mesin untuk menghasilkan permainan yang akan dilakukan dalam tiga tahun, atau satu tahun atau enam bulan, dan apakah Anda memikirkan port konsol atau tidak. Ini akan relatif mudah untuk membuang 360 port game Anda dari Direct3D9, tetapi Anda harus melakukan lebih banyak hal yang berasal dari D3D11. Ingat bahwa D3D11 mengunci semua pengguna XP, jika tidak semua perangkat keras D3D9.
Survei Steam terbaru menunjukkan bahwa sekitar 16% orang masih menggunakan Windows XP. Bisakah Anda menghentikannya? Pada saat gim Anda selesai, bagaimana ini akan berubah? Apakah Anda akan menggunakan fitur yang bergantung pada API tingkat yang lebih tinggi? Ini adalah pertanyaan yang perlu Anda jawab sendiri.
Direct3D 9 sangat mudah diakses dan Anda dapat menjangkau banyak orang dengan permainan D3D9, tetapi sekarang jumlahnya sudah ditentukan, terutama di PC. Jika Anda tidak tertarik untuk menargetkan orang-orang itu, maka ada gunanya.
Oh, dan jangan repot-repot dengan DX10. Tidak ada alasan sama sekali untuk menggunakannya di DX11. Kecuali jika Anda ingin menggunakan D2D / DirectWrite, yang tidak masuk akal.
Tentu saja, perlu disebutkan bahwa di DX11, tidak ada pengganti untuk kelas yang, sebagai hobiis sendiri, saya temukan sangat berguna di DX9. Seperti ID3DXMesh, ID3DXSprite, ID3DXFont, harus mengkompilasi ID3DXEffect dari sumber, dll. Microsoft merekomendasikan DirectWrite untuk mengganti ID3DXFont, tetapi tentu saja, mereka lupa untuk benar-benar membuat DX11 kompatibel dengan sistem Direct2D / DirectWrite yang baru, yang menurut saya sangat bodoh. .