時間:2017-06-14 14:36:42 作者:琪琪 瀏覽量:169

筆者玩過不少基于DirectX開發的游戲,也遇到過不少亂七八糟的問題導致無法進行游戲。鑒于許多人也因為各種問題而苦惱,特意寫下這篇教程,算是分享一下我的解決經驗。
常見問題:
一、程序啟動時提示“缺少D3DX9_*.dll” 或者類似名字的Dll文件
這種情況往往是由于DirectX版本過低導致的,需要升級DirectX版本(詳細過程見Q&A)。
二、程序提示“創建Direct3D設備失敗”或類似問題
這是很常見的一個問題,網上給出的解決方案往往是重裝DirectX,但站在程序的角度,這種做法未見得可行。如果能進入游戲,不出現<一>中的提示,一般說明DirectX版本正確,也就是說重裝DirectX或者更新不會有任何改善。當然,也可能有例外的情況出現,鑒于更新DirectX版本不會對電腦產生副作用,在遇到這種情況的時候也可以先去更新DirectX版本,如果情況沒有改善,那么就意味著需要升級顯卡驅動(詳細過程見Q&A)。如果升級顯卡驅動后仍然不行,說明你的硬件跟不上游戲的要求(如何知道我的電腦能否勝任某個游戲?詳細過程見Q&A),這就要去換顯卡了。不過,鑒于換顯卡是一件很麻煩的事情,具體過程本教程不闡述,有需要的讀者可以向商家咨詢。
三、玩老游戲時花屏
這種問題往往出現在高配置或者新配置的電腦上,這種問題往往是由于操作系統兼容性以及硬件導致的。以筆者為例,曾經就遇到紅色警戒花屏的問題,但是在配置近乎一樣的其他電腦上紅色警戒照常運行,唯一不同就是人家是Ati的卡,我的是Nvidia的卡;同樣的,在A卡的電腦上不能運行的一些老游戲,我的n卡可以進行的很流暢。這種情況一般就是硬件兼容性或者顯卡驅動的兼容性導致的,遇到這樣的問題也只能去相關論壇發帖詢問,因為不同游戲可能會有不同解決方案。升級顯卡驅動也許會有些效果。
如果是由于操作系統兼容性導致的問題,可以通過屬性來兼容運行(詳細過程見Q&A),但這樣做能可能產生一些副作用,也可能對問題起不到任何幫助。如果游戲實在不兼容當前系統,可以嘗試使用虛擬機。鑒于過程很麻煩,本教程不闡述。
四、游戲過程中花屏、黑屏,接著電腦死機
區別于<三>中的情況,這種問題往往出現在游戲中途,而且隨機產生。筆者曾在03年的某品牌老電腦上運行《半條命2》,游戲過程中出現花屏,同時該電腦運行CF這樣低配置的游戲時會隨機黑屏。這種情況往往是由硬件本身導致的,可以歸結為硬件問題。當然不能排除顯卡驅動在中間作祟。所以升級顯卡驅動、更新DirectX版本仍然是一個解決方案。如果仍然無效,那就可以確認為硬件問題。
硬件方面,導致花屏和黑屏的可能原因很多,比如顯卡供電不足、顯卡溫度過高、內存條損壞、主板損壞等等。如果問題比較嚴重,可以去找人修一下,或者干脆更換顯卡(前提是確認顯卡問題)。
五、DirectX版本不對
升級DirectX版本。但是對于某些游戲可能是由于游戲本身導致的錯誤,這樣的話只能去換個游戲版本試試。

Q&A:
Q1:怎么卸載DirectX?
A1:這種問題往往是小白提出來的,請注意,DirectX不是軟件,這個叫做API(應用程序接口)。專業一點,DirectX是由一些COM組件組成的面向游戲開發人員的接口,可以免去程序員直接操作顯卡帶來的麻煩和危險。DX作為系統組件存在,貿然刪除只會導致一些程序無法運行甚至帶來無法再安裝DirectX的后果。如果是出于系統瘦身的目的,請參考專業文章然后三思而行。
Q2:DirectX升級是否會覆蓋原版?
A2:一般而言,DirectX升級只會往系統中加入更新的版本(用搜索在“C:\Windows\System32\”下面尋找“D3DX*.dll”這樣的文件,往往會看到D3DX9_33\D3DX9_34這樣的文件,后面的33\34一般就是版本了)。文件往往是越更新越多的。至于會不會覆蓋原版,我們不必去關系,也無需關心。(按照修改日期,應該不會覆蓋老版本)