软硬兼施(20):第三站 神鬼奇兵——DirectX诊断工具
硬件周刊
近来,阿萌为玩A3苦恼着,因为买来的游戏光盘在Windows XP下无法正常安装,总是提示DirectX错误。在升级了DirectX之后,游戏倒是安装好了,但是玩起来还是不顺畅,游戏声音有时不正常。后来阿萌还是在DirectX中摆弄了几下就把这些问题搞定了。
DirectX怎么这么神通广大啊?原来,在Windows中,与游戏以及多媒体直接相关的就是DirectX,通过系统自带的DirectX诊断工具就可以对游戏和多媒体出现的显示、声音不正常等问题进行诊断,让它们运行得更顺畅。
一、认识DirectX
DirectX是Windows操作系统的一种扩展功能,微软定义为“硬件设备无关性”。通过它可以增强计算机的多媒体功能,比如3D图形的显示能力,增强声音处理能力等。其主要目的是使基于Windows的应用程序能够高效、实时地访问计算机的某些硬件资源,比如内存、声卡、显卡等,从而使Windows成为一个功能强大的游戏、多媒体平台。
在Windows中要控制这些功能,我们可以使用系统自带的一个DirectX诊断工具。通过它不仅可以访问与游戏和其他多媒体软件直接相关的硬件,还可以控制硬件的一些性能,比如启用/禁用显卡DirectDraw、Direct3D加速,控制硬件的声音加速,启用/禁用默认端口功能等。DirectX的官方下载地址为:http://microsoft.com/windows/directx。最新版本的DirectX诊断工具为DirectX 9.0b,即将推出的下一个版本为DirectX 9.0c。
二、使用DirectX诊断工具
在Windows XP中,要使用DirectX诊断工具,可以依次点击“开始→所有程序→附件→系统工具→系统信息”,然后依次点击“工具→DirectX诊断工具”打开DirectX诊断工具。在打开的窗口中会显示当前的系统信息(如图1)。
阿萌小提示:是不是觉得这样打开DirectX诊断工具太麻烦了呢?没有关系,看我阿萌的,不管在什么系统下,你只要点击“开始→运行”,输入dxdiag,单击回车就可以快速运行DirectX诊断工具了。
在DirectX诊断工具的其他选项卡中可以进行各种测试和诊断,比如在“显示”选项卡中可以进行DirectDraw、Direct3D的测试和设置;在“声音”选项卡中可以进行DirectSound测试以及硬件的声音加速设置等等。那有人要问了,这些DirectDraw、Direct3D、DirectSound等测试项目,表示的是什么意思呢?往下看看。
1.DirectDraw(2D绘图)
DirectDraw支持快速访问计算机显卡的硬件加速功能,通过它可以为游戏以及Windows系统组件提供一种独立于设备之外的“软”方法来访问特定的显示设备,相当于一个接口,同时可以保证和其他Windows应用程序的兼容。
2.Direct3D(3D绘图)
通过Direct3D可以为大多数的显卡内置的3D调色功能提供界面,主要是为访问3D显卡提供与系统硬件的接口。
3.DirectSound(声音相关)
DirectSound主要为程序和声卡的混音、播放和声音捕获提供接口,可以支持WAV、MIDI等文件的直接播放。
4.DirectMusic(MIDI相关)
DirectMusic是DirectX提供的交互式音频接口,与DirectSound不同,它可以处理通过声卡转换的数字音频以及基于消息的音乐数据,音质效果更佳。
5.DirectPlay(网络相关)
经常玩网络游戏的朋友对DirectPlay应该不陌生吧,它主要就是为各种网络游戏提供网络功能接口,比如支持通过TCP/IP、IPX等协议进行数据传输,支持调制解调器、串行等连接。
阿萌小提示:除了这里介绍的五个项目外,我们有的时候还可以看到DirectSound 3D(用于模拟输出高质量的3D音效)、DirectShow(用于提供高品质的音频和视频捕获和回放功能)、 DirectInput(用于提供对游戏中使用的游戏杆和其他输入设备的接口)测试项目。
三、DirectX诊断实例
在PC中玩游戏和多媒体娱乐时经常会出现各种显示、声音方面的问题,通过Windows自带的DirectX诊断工具就可以进行诊断和解决问题。下面以Windows XP为例,介绍一些基本的诊断实例。
1.玩游戏时出现DirectX初始化失败
在玩A3、极品飞车等游戏的时候,可能会因为DirectX版本比较低、被其他程序占用DirectX等问题导致DirectX初始化失败。要解决这个问题,首先关闭所有正在运行的程序,然后再运行游戏。如果不能解决问题,就运行DirectX诊断工具,选择“显示”选项卡,在“DirectX功能”区域查看DirectDraw、Direct3D是否处于启用状态(如图2),如果没有处于启用状态,单击对应的按钮来启用。最后单击对应的测试按钮来测试状态,测试成功后会在“说明”区域显示测试结果。
阿萌小提示:如果以上的方法还不能解决问题,可以考虑升级DirectX。
2.声卡不能正常发声
在使用某些老声卡玩游戏和听音乐的时候,往往会出现不能正常发声等问题。这可能是声卡与DirectX不兼容性造成的。要解决该问题,可以尝试以下方法。
第一步:运行DirectX诊断工具,选择“声音”选项卡。如果使用老声卡,可能与DirectX不兼容,那么将“硬件的声音加速级别”从“完全加速”调为“没有加速”;如果声卡支持硬件加速,你可以将“硬件的声音加速级别”从“没有加速”调为“完全加速”(如图3)。
第二步:单击“测试DirectSound”按钮来进行几种不同音频格式的测试。测试完毕后,“说明”区域会显示测试结果,显示“成功”就表示没有问题。
阿萌小提示:如果在安装了新版的DirectX后,才出现声卡不能正常发声现象,可以为声卡升级最新的驱动程序,或者安装回老版本的DirectX。例如安装了DirectX9.0的朋友,要换回老版本的DirectX,可以去http://www.3dcenter.de下载DirectX 9 Uninstaller先卸载现有的DirectX再安装旧版本程序。
3.游戏屏幕刷新率过低
如果游戏使用的屏幕刷新率和你当前系统设置的显示刷新率不同会影响游戏的画质效果。比如你系统的显示刷新率为85Hz,而游戏使用的是75Hz。我们可以借助于DirectX诊断工具来替代游戏的刷新率。具体的设置步骤如下:
第一步:运行DirectX诊断工具,选择“其他帮助”选项卡,在窗口最下方单击“替代”按钮。
第二步:在弹出的“替代DirectDraw刷新行为”窗口中,选择“替代值”,并填入相应的刷新频率的值,比如85(图4),确定即可。
阿萌小提示:这里的方法可以适用于采用DirectDraw技术制作的游戏,比如A3、极品飞车、NBA 2004等。而对于采用OpenGL技术制作的游戏,如QuakeⅢ、CS等,是无法适用的。
4.遭遇黑屏
在配置相对比较低的计算机上玩游戏、运行大型的应用程序时,可能会遭遇黑屏,或者指针周围出现黑块的问题。这可能是由于内存不足、DirectX本身的故障造成的。要解决该问题,我们首先可以关闭所有正在运行的程序。接着运行DirectX诊断工具,选择“DirectX文件”选项卡,然后查看每一个DirectX组成文件,看看在“说明”区域有无显示文件损坏。如果没有,在“说明”区域会显示“没有发现问题”(如图5),如果有,就要安装或升级DirectX了。
阿萌小提示:如果DirectX诊断工具诊断没有问题,那么多半是你计算机内存不足造成的,可以对系统进行优化或升级内存条。
5.解决局域网游戏不能对话的问题
在局域网中玩游戏时出现这个问题,我们可以利用DirectX的“测试DirectPlay”来解决。具体的步骤如下:
第一步:假如局域网中有“计算机1”和“计算机2”两台计算机,都是Windows XP系统。首先在计算机1上运行DirectX诊断工具,接着选择“网络”选项卡,单击“测试DirectPlay”按钮(如图6)。
第二步:在测试窗口中输入用户名,选择服务提供者,比如DirectPlay8 TCP/IP,输入端口号,选中“创建新会话”,单击“确定”按钮。
第三步:同样,在计算机2上运行DirectX诊断工具,选择“网络”选项卡,单击“测试DirectPlay”按钮,在测试窗口中输入一个不同的用户名,选择和计算机1相同的服务提供者,选中“加入现有会话”,单击“确定”按钮。这样,就可以在两台计算机之间打开聊天对话框进行会话。如果测试成功,会在“说明”区域显示“所有的测试都很成功”。
下期预告:
一块硬件除了本身的质量和做工决定了它的性能外,驱动程序也是硬件的灵魂所在。下期阿萌就为大家准备了新的学习大餐──驱动程序,一定不要错过了哟!





