directX createdevice出錯的幾種解決辦法【轉載】
directX createdevice出錯的幾種解決辦法
最近學了下DX。。。在初始化的時候總是失敗提示createdevice出錯。。。。翻遍了各種論壇終于找到解決的辦法,留下記錄以免再次碰到。
createdevice出錯無非以下幾種情況:
1.d3d加速不支持。。。這是硬件問題。對于現在的顯卡來說基本不存在了
2.最最普遍的問題傳遞的參數不對。包括窗口句柄,D3DPRESENT_PARAMETERS等。前者只需要校驗是否有效。。。后者是個麻煩事。很多地方沒有把所有成員都初始化。對于新手來說,最好是把每個成員都初始化一下,順帶了解下各個參數的含義,參數中最常見的就是取色模式不對。。。試下改成D3DFMT_D16,我碰到的是不應該自己設置BackBufferFormat,設置這個辦法最好采用
D3DDISPLAYMODE d3ddm;
if(FAILED(d3d9->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm)))
{
return false;
}
d3dpp.BackBufferFormat = d3ddm.Format;
3.跟第二差不多。參數devicetype的值。可以試下在HAL和REF兩者之間換一下看是否能解決問題
糾結了一周,終于解決了。
浙公網安備 33010602011771號