DVD 性能揭秘(二)
萧恩(2000-11-17)
在一个典型的帧序列(或称运动图象序列)中,前后完整两帧之间的图象只包含了一些物体运动的信息,而显示卡的“硬件运动补偿”功能就具备计算这些“运动信息”的能力,这样,CPU在回放MPEG-2压缩图象时就能放下这部分工作。
但这还不是减少数据流的唯一途径,MPEG-2 还使用了一种有损压缩方法,和我们通用的
JPEG 图象格式使用的方法差不多。每一幅图象都被分成许多 8X8 的点阵,然后进行离散余弦变换。如果你想解压缩出的图象画质更好,CPU还要进行繁重的浮点运算。而ATI
Radeon和Rage 128还能够用硬件完成反向离散余弦变换(解压缩)来再次减轻 CPU 的负担。
让我们来简单的描述一下观看DVD影片时所发生的一切:首先,DVD驱动器从光盘上每秒种读取
3.5 ~ 4 Mb 数据到内存中(DVD本身能够不依赖CPU的帮助直接访问内存),因此 CPU只需要解压缩这个数据流就行了。为了优化性能,DVD
通过 DMA 通道来传输这些信息。之后 CPU 解压缩并通过 AGP 或者 PCI 总线,把 21Mb 的数据流送到视频处理器。很显然,PCI
卡不是一个 DVD 系统的理想选择,因为 21MB/秒的数据流对 PCI 总线的带宽压力太大。
打开 DMA!
打开 DVD 驱动器的 DMA 通道功能可增加播放 DVD 时的平滑效果,方法是在
Win98/2000/ME下,进入控制面板/系统/DVD 驱动器,找到 DMA 选项,在选项框里打上勾即可。
需要说明一点的是,对于ALi V系列主板,必须安装ALi的驱动程序来替代Win98中的驱动。现在,我们已经打开了DMA,下一步来看看我们需要什么样的CPU。
测试配置
为了进行 CPU 负载测试,我们使用了华硕 V7700 GeForce
2 GTS 和升技 K7T 主板,安装了Nvidia的 6.35 雷管驱动。V7700 附带的 DVD 解码软件 ASUSDVD
用来进行所有 NVIDIA 卡的 DVD 测试,WINDVD 2000 用来测试其它显示卡。
系统I:
AMD Athlon 1100Mhz,Duron750
升技 K7T
系统II:
Intel Celeron 433 @ 488
华硕 CUSL2 i815
系统III:
AMD K6-2 500
建基 AX95 Pro
其他配置相同
128 MB PC133 CAS2 RAM
34 GB IBM DeskStar DPTA 373420 硬盘(ATA-66)
Sound Blaster Live!
CPU 负载
Video2000 是我们看到的第一款 DVD 测试工具。它可在少量
DVD 数据流(3 Mb/秒)、中等(6 Mb/秒)和 最大负荷(9 Mb/秒)下测试 CPU 的负载情况。大多数情况下,DVD
数据流介于3 ~ 6 Mb/秒之间,9Mb/秒的数据流非常罕见。
CPU占
用率 Athlon
1100
(133) Athlon
900
(133) Duron
900
(133) Athlon
750
(133) Duron
750
(133)
Athlon
600
(133) Duron
600
(133) Celeron
488
(133) Celeron
433
(133) K6-2
500
(133)
3MB/秒 19% 20% 21% 20% 22% 21% 24% 60% 65% 60%
6MB/秒 25% 27% 28% 29% 29.5% 31% 33% 70% 77% 94%
9MB/秒 28% 32% 34% 36% 38% 40% 42% 79% 88% 94%
结果表明,即使是 K6-2 500 也能够消化 9Mb/秒的极限数据流,但这时 CPU 被完全占用。另外 ASUSDVD
充分利用了 GeForce 2 GTS 的优势,但使用其它 DVD 解码器效果就有差别了,PowerDVD在最小的3Mb/秒数据流下,CPU负载也达到了93%。用
TNT2 替换 GeForce 2 GTS,结果是 CPU 的负载分别为 95%(3 Mb/秒),99%(3 Mb/秒)和99.5%(9
Mb/秒)。