Next Previous Contents

8. 增进效率

播放影片 (特别是 DVDs) 是 非常 依赖处理器的。 要帮助播放平顺, Xine 试图使用各种形式的硬件加速功能。 列资料对 x86 PCs 和 Linux 是最相关的所以请在你的系统架构中加入所有技巧。

8.1 硬件

本章列出一些有用的硬件。

AGP bus 和显示卡.

一个 AGP 显示卡让电脑传送影像资料到显示卡更有效率。 因此播放会较平顺,强烈建议使用。

RAM 超频(仅限高手!)

若你熟悉 BIOS 设定,你可以将所有 RAM 在 BIOS 中相关的时间设定 (如 CAS delay, RAS to CAS delay, 等) 设为 2. 你可能想尝试一些疯狂的技巧, 如陈述于 (举例来说) http://www.overclockers.com/tips105/index03.asp. 此网站是利用一个 Windows-工具来充分利用蕊片组功能,你可以用 FreeBSD 上的 pciconf来作同样的事。 在一些 linux 发行套件中也有类似工具。若使用 via apollo pro 蕊片组有问题,请联系 heiko (heiko@users.sourceforge.net).

http://powertweak.sourceforge.net可以找到一个调整的好工具。.

8.2 设定并使用原生装置(raw devices)供 dvd 读取

linux 核心 2.4.x 开始支持原生装置也有给较旧核心的补钉档 ftp://ftp.kernel.org/pub/linux/kernel/people/sct/raw-io/. 要使用原生装置,要先连接一个空的原生装置给你的 dvd 装置,例如:

  $ raw /dev/raw1 /dev/hdc
然后,产生一个链结叫 "rdvd" 指向原生装置
  $ ln -s /dev/raw1 /dev/rdvd

有些系统套件可能需要你去设定连结如:

  $ raw /dev/raw/raw1 /dev/hdc
  $ ln -s /dev/raw/raw1 /dev/rdvd
.

8.3 XVideo 延伸功能

XVideo 延伸功能是 XFree86 X-伺服器从 4.0 以后的一个功能。 现在有下列显示卡支持:

3DFX Voodoo 3

The 3dfx driver works in XFree86 version 4.0.3 and above.

nVidia GeForce

Xv only works with nVidia's own drivers. The place to ask is the IRC room #nvidia on irc.openprojects.net. They can be downloaded from http://www.nvidia.com/

nVidia TNT2 and TNT1

As with the GeForce, only NVidia's drivers work.

ATI cards

Xv is reported to work with Rage 128 and Mach64 based cards with drivers from the GATOS project ( http://www.linuxvideo.org/).

Matrox Gx00 cards

Xv 功能内建。

Intel i810 and i815

Xv 功能内建。

Savage chips

Xv has been reported to work with some Savage cards using a modified driver module. 这里有关于可以工作的显示卡详细清单 http://www.probo.com/timr/savage40.html.

若 Xv 延伸功能正确安装, xvinfo 程序的输出将像下列:

  Adaptor #1: "Matrox G-Series Backend Scaler"
    number of ports: 1
    port base: 47
    operations supported: PutImage 
    supported visuals:
      depth 16, visualID 0x23
      depth 16, visualID 0x24
      depth 16, visualID 0x25
      depth 16, visualID 0x26
    number of attributes: 3
      "XV_COLORKEY" (range 0 to 16777215)
              client settable attribute
              client gettable attribute (current value is 2110)
      "XV_BRIGHTNESS" (range -128 to 127)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_CONTRAST" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
    maximum XvImage size: 1024 x 1024
    Number of image formats: 0

你可能也需要载入 v4l (Video4Linux) X 延伸功能. 输入 xdpyinfo | grep XV. 若有显示 'XVideo' , 那你有这个功能. 如果没有 '载入 "v4l"' 于 XF86Config 档的 Modules 段 (正常在 /etc/X11/XF86Config) 且再试一次. 然后尝试 'xvinfo' 指令. 如果输出为 'no adapter present', 就是你 没有 XV 支持. 检查你的显示卡是否在 XFree86 网站支持中 ( http://www.xfree86.org/), 安装 任何需要的软件且再试一次.

8.4 MTRR (Linux)

从 Linux 核心文件:

  在 Intel P6 家族处理器 (Pentium Pro, Pentium II 与以后)
  Memory Type Range Registers (MTRRs) 被用来控制处理器存取内存区段。
  这对 PCI 或 AGP bus 显示卡 (VGA)是最有用的。 启动 write-combining
  allows bus 写入 transfers to be combined into a larger transfer
  before bursting over the PCI/AGP bus. 这将增进影像写入动作效率达 2.5 倍以上。

  Cyrix 6x86, 6x86MX and M II 处理器有 Address Range Registers (ARRs) 它提供一个类似
  于 MTRRs 的功能。 在此, ARRs 被用于模拟 MTRRs。

  AMD K6-2 (stepping 8 及以上) 与 K6-3 处理器有两个 MTRRs。 它们也受支持。

  Centaur C6 (WinChip) 有 8 MCRs, 允许 write-combining. 它们也受支持。

当使用 XShm 输出方法,确定 MTRRs 设定正确可 明显的 增进播放效果。可以检查是否有 /proc/mtrr 以确定你的核心支持 MTRR。

打 cat /proc/mtrr 且确定有一行关于你的显示卡的内存。若没有,参阅 Linux 核心原始文件的 mtrr.txt 档。

8.5 最佳化磁盘存取

下列说明仅对 IDE 硬盘有效。 首先确定你的主机板支持 UDMA/33 协定 (或更高阶 UDMA 协定)。 你可使用 hdparm 工具程序使 Linux 使用此界面来最佳化磁盘资料传输。

有关 hdparm 的资料详见 http://oreilly.linux.com/pub/a/linux/2000/06/29/hdparm.html.

警告: hdparm hdparm 是一个有危险性的工具,不正确的使用可能影响你的电脑读取此硬盘的能力。 使用危险自己负责。

检查 hdparm drive_device 输出包含下列:

  S hdparm /dev/dvd
  ...
    using_dma    = 1 (on)
  ...

若它显示 off 或你想改变任何参数请详见 hdparm 手册。


Next Previous Contents