笔者玩过不少基于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一般就是版本了)。文件往往是越更新越多的。至于会不会覆盖原版,我们不必去关系,也无需关心。(按照修改日期,应该不会覆盖老版本)
Q3:WinXp能不能用DX10、DX11?
A3:不能,微软早就说过了,要想玩DX10、DX11的游戏请用Vista或者Win7甚至将来的Win8。微软也会在不久以后放弃WinXP的更新,所以,想玩基于DX10和DX11的游戏,请换操作系统。
Q4:怎么看显卡支持的DirectX版本?
A4:最专业的软件是GPU-Z,网上可以下载到,不过专业参数很多,需要了解的话要去查找相关资料。其次Everest也是一个可用的硬件检测软件。两种软件都可以识别出显卡以及支持的DirectX版本。最简单的方法,右键我的电脑-设备管理器,展开显示卡项,可以找到显卡名称,但是前提要求你有安装驱动。同时这种方法不能知道显卡DirectX版本,只能知道显卡型号。
Q5:怎么看系统的DirectX版本?
A5:开始-运行-输入dxdiag,确认。在弹出的对话框中可以看到系统的DirectX版本(非硬件)
Q6:什么是集成显卡,什么是独立显卡?
A6:集成显卡往往是固化在主板上的,笔记本上较为常见。集成显卡一般性能差,无法胜任大型3D游戏。以Intel生产的显卡为主。独立显卡则是独立与主板存在的,而非板载。因此性能往往高于集成显卡(很好理解,因为它够大- -。当然这种说法是非常不严谨的,一些新的集显完全可以打败过去那些独显,这是毫无争议的。比较显卡性能还是要看测评和参数,只是独显的性能通常都高于集显),适合进行大型游戏。
Q7:怎么知道我的显卡能否胜任某个游戏?
A7:先到网上找游戏的最低配置要求,然后关注显卡需求,DirectX需求。接着用上述提到的软件查看系统的DirectX版本和硬件支持的DirectX版本。如果硬件DirectX版本低于要求,那只能换显卡,软件DirectX版本低于要求,可以更新DirectX(对于DX10和DX11的游戏,XP下无法进行)。注意,如果想要运行的游戏是大型3D游戏、有大量特效。然后你的显卡是集成显卡,那么就算够到DX版本,也不能保证流畅游戏,这种情况下,调低游戏运行参数会有点帮助。
Q8:Shader Model版本(简称SM版本)是什么东西?
A8:SM版本指显卡能够运行的最高的“着色器”版本,说白了,就和特效有关。SM版本越高,特效越华丽、画面越好。然后,SM版本往往和DX版本挂钩(确切的说,应该是SM版本决定了显卡支持的DX版本。当然,并不是说DX10的显卡就不能运行DX11的游戏了,只是SM版本不足,无法执行DX11带来的特效),例如DirectX9.0c的SM版本是3.0,而DirectX9.0b的SM版本则是2.0。最新的DirectX11则要到SM5.0。
Q9:如何更新显卡驱动?
A9:可以到驱动之家寻找相关的驱动,小白的话什么鲁大师就够了- -。官方的驱动,A卡请到AMD官网,N卡到NVIDIA官网,找到驱动下载这样的栏目,依据操作系统版本以及显卡型号选择正确的显卡驱动。然后下载安装。
小提示:安装显卡驱动的时候,往往会先弹出来小一个窗口要你选择一个路径,像是C:\NVIDIA\。然后安装过程中可能又会遇到路径选择(也可能没有)。请注意第一次选择的路径往往是解压安装包的临时目录,在确认临时目录的情况下大可删掉那个目录。对于nVidia的安装包,往往可以腾出几百兆的空间。
Q10:如何安装\更新DirectX版本?
A10:DirectX安装包的来源很广,去网上搜一下就可以找到很多。并且往往按照发行时间命名,时间越晚的越新。现在的DX安装包一般是DX9、DX10、DX11放在一起发布的,因此不管更新哪种DX版本,只要找最新的DirectX安装包就行了。
小提示:DirectX安装包又分在线更新和离线更新版本,离线更新版本往往几百MB。很多人下载了DirectX离线安装包之后,在弹出的窗口中选择了目录,确定后就以为万事大吉了。殊不知那个只是解压安装包的目录,DX安装不需要选择安装目录,它会自动安装到系统之中,整合在系统中(文件一般在System32下面)。所以第一次选择完目录,解压后要去文件夹里面找到真正的安装程序(在文件夹下搜索“*.exe”(不含引号),会找到一个安装程序,那个就是),然后会弹出中文的安装界面,之后才会安装完成。你可以通过dxdiag检查下安装是否正确了。