XFree86 4.x 为视频提供了一种更加集中和自包含的方法。 像内核模块用于非 root 用户访问显卡这样的奇怪问题,谢天谢地,已经消失了。
如果你得到像 1 fps 这样的帧率,那么你的系统没有使用硬件 3D 加速。可能存在以下两种情况之一。
你的 3D 系统配置错误(可能性较大)
游戏 X 配置错误(可能性较小)
第一步是弄清楚是哪种情况。
如果你使用的是 X 4.0 (X 3.* 用户请进行步骤 2),查看以下命令的输出X -probeonly。你将会看到
(II) XXXXXX: direct rendering enabled |
或者
(II) XXXXXX: direct rendering disabled |
其中 XXXXXXX 取决于你使用的显卡。 如果直接渲染被禁用,那么你的 X 配置肯定有问题。 你的游戏没有问题。 你需要弄清楚为什么 DRI 被禁用。 此时你最重要的工具是“DRI 用户指南”。 这是一篇写得非常好的文档,它提供了关于如何在你的机器上正确设置 DRI 的逐步信息。 副本保存在 http://www.xfree86.org/4.0/DRI.html。
请注意,如果你通过了这个测试,你的系统就能够进行直接渲染。 你的库仍然可能存在问题。 因此,请进行步骤 2。
有一个名为 glxgears 的程序,它随 “mesademos” 软件包一起提供。 你可以使用 Debian 获取 mesademos ( apt-get install mesademos) 或者你可以在 http://www.rpmfind.net 上搜索 rpm 包。 你也可以从 mesa 首页下载并自行编译源代码。
运行 glxgears 将显示一些齿轮在转动。 运行 glxgears 的 xterm 终端会显示 “X frames in Y seconds = X/Y FPS”。 你可以将你的系统与下面的基准测试列表进行比较。
CPU TYPE VIDEO CARD X VERSION AVERAGE FPS |
自行编译 Mesa 和 DRI 模块可以使你的 FPS 提高 15 FPS; 这是一个相当大的性能提升! 因此,如果你的数字比同等配置的机器慢大约 20 FPS,那么很可能 glxgears 正在回退到软件渲染。 换句话说,你的显卡没有进行 3D 图形加速。
比 FPS 更重要的是,在小窗口和大窗口下都保持恒定的 FPS。 如果硬件加速工作正常,glxgears 的 FPS 应该几乎与窗口大小无关。 如果不是这样,那么你就没有获得硬件加速。