软件看影碟,优选显示卡 兼谈DCI及Diret Draw 北京 崔红杰 1996-05-10 一、图形加速卡介绍 VESA总线已经随着486的衰亡过时了,本文讨论的都是PCI总线的图形加速卡。目前市场上的PCI图形加速卡很多,所用的图形加速芯片出自S3、Tseng、Trident、Cirrus Logic、Allience等公司。目前以S3公司的产品种类最多,覆盖面最广。比如Trio系列的Trio32(732)、Trio64(764)、Trio64V+(765),Vision系列的Vision864和Vision868、高档的964和968等。 了964和968之外,S3产品中性能最高的要数刚刚在中关村出现的Trio64V+了。图形加速能力和Trio64一样,但是软解压的速度比868快30%以上。虽然6410软解压的速度也很好,但是6410的图形加速能力比不上Trio64V+。何况Trio64V+最低价格只有550元,比同类中的很多产品都低,因此目前买电脑,即使不为用软件看VCD笔者倾向于选择Trio64V+。 1.图形加速卡的64位指什么? 衡量图形加速卡的优劣时常说某某卡是32位的、某某卡是64位的,这里所说的32位、64位指的并非图形加速卡所用总线的位数。因为不论VESA还是PCI都是32位总线(PCI总线有64位的标准,但是目前很少见到)。这里的位数指的是图形加速芯片和显示内存之间的数据总线,也就是显示卡内部总线的宽度。比如S3/Trio32和ET4000/W32P就是32位的,而S3/Trio64和S3/864则是64位的。容易产生的错误看法是认为64位的一定比32位的要快。按照S3公司中国代理的说法,当只配备1MB显示内存的时候,Trio32和Trio64速度上没有区别。因为这时候64位卡工作在32位状态。只有配备2MB显示内存的时候,64位图形加速卡才工作在64位状态,性能才和32位卡有区别。目前常见的PCI图形加速卡按照内部总线分类是: 大多数的图形加速卡插2MB显示内存的时候,速度要比仅有1MB显示内存快,这并不完全是因为64位和32位的区别。还因为图形加速芯片可以使用剩余的显示内存作为缓冲区,加快内部的图形处理速度。对于不使用图形加速功能的软件来说,2MB和1MB不影响显示速度,比如在DOS下使用SPEED就测不出扩充显示内存之后速度的变化。笔者在用软件播放VCD的时候,添加1MB显示内存效果没有什么变化,可能跟测试用的电脑是奔腾120有关系)。好在现在1MB DRAM显示内存市价不足200元人民币,要不要扩充显示内存,自己决定吧。 2.图形加速卡加速什么? 本来这部分可以忽略的,因为,“图形加速”是针对“图形”的,比如代替CPU画线条、椭圆、多边形、区域填充等,和VCD的“图像”没有关系。但是由于DCI和Windows95的“Direct Draw/标准的普及,“图形加速”概念逐渐要变成“图形图像加速”了! 不同的图形加速卡能加速的图形也不一样。 3.显示内存的种类 现在显示卡上用的内存种类非常多,除了最普通的DRAM之外,还有EDO DRAM、VRAM、WindowsRAM、WRAM等。性能以DRAM最次,EDODRAM稍好,VRAM更好,WRAM最好。目前的高级图形卡中,S3/968使用的是2_4MB的VRAM,MEGA公司的最新三维图形加速卡配备的是8MB WindowsRAM。 二、播放VCD的过程: ●从CDROM读取MPEG数据 ●按照一定的算法把经过压缩的数据还原成图像和声音。 ●由于MPEG影像中描述画面用的是YUV(亮度及色差)数据,因此要把画面显示出来还要把YUV数据转换成RGB(红、蓝、绿)数据并送到显示内存中(显示卡显示内存中保存的是RGB数据或变相的RGB数据)。产生声音则要把声音数据传送给声卡。 用软件在全屏幕方式看VCD,影响效果的因素有很多,下面笔者按照影响的大小逐个分析这些因素。 1.画面放大到全屏幕 有没有硬件实现的画面缩放,效果差别极大。单从最大数据传输率上看,6410图形加速卡的速度是每秒7MB,只有ET4000/W32P每秒30MB的1/5。但是由于6410有硬件的色彩转换和画面缩放,因此在各种电脑上播放VCD的效果都比ET4000/W32P要好。 在640×480的64K高彩色显示方式下,每秒要传送到显示内存中18MB的RGB数据才能实现每秒30帧的画面。这就要占用CPU至少60%的时间。再加上CDROM也要占用不少时间,显然在没有硬件缩放功能的电脑系统上软件欣赏全屏幕VCD是不可能的。而 在352×240的高彩色下,每秒只有不到5MB的RGB数据(用YUV方式数据量减少到3MB以下)。 画面放大到全屏幕,自然会有马赛克现象。不同的图形加速芯片缩放画面的时候使用的算法不同,当然会影响到屏幕上的显示效果。 2.YUV到RGB的色彩转换 MPEG之所以描述画面的时候不同RGB而用YUV,就是为了尽可能减少数据量。在有硬件实现的YUV到RGB转换功能的图形加速卡上,不仅转换数据不占用CPU时间,并且也减少了传送画面所用的时间。 3.合成声音 如果电脑系统没有达到奔腾90,欣赏VCD的时候最好不要使用44KHZ的立体声方式。VCD播放软件,在声音方面提供了多种选择。可以从11KHZ的单声道方式开始,逐个选择,找到一个可以同时满足声音和图象的平衡点。虽然不同的声卡对CPU的占用率不同,但是由于这个因素的影响比较小,再加上作者还没有时间对这个项目进行测试,因此不同声卡的区别就不说了。 4.从光驱读取MPEG数据 由于MPEG数据流只有150KB/S,因此光驱是倍速还是四倍速关系不在,关键是光驱本身的CPU占用率要低。也就是说从光驱读取所需要的数据的时候,要占用尽可能少的时间。这样就可以让CPU把主要时间用到MPEG数据的解压缩上面。笔是认为SONY76E四速光驱比较好,有256KB的缓冲区,定位时间短、占用CPU时间少,价格只有550元,并不比倍速和其它四倍速光驱贵。但是,如果你现在使用的是倍速光驱的话,也没有必要买新的四倍速光驱,因为,这项因素的影响是较小的。 最关键的因素都可以集中在显示卡上,就是因为这个原因,新出台的MPC3标准就把基于硬件的色彩转换和画面缩放定为标准。 三、DCI和“Direct Draw”,图象加速新标准 1.用于Windows3.x的DCI功能 DCI功能并不只是为软件解压缩MPEG视频影像而设置的,它是一个让Windows更加实时地显示图像的软硬结合的标准,具有DCI功能的图形加速卡不仅可以明显提升软解压MPEG影碟的效果,同时对播放多媒体软件中常见的AVI、QuickTime动画也有非常明显的好处。以前只有S3/968、ATI Mach64获得95年美国Comdex金奖的ET6000这样非常高级的图形加速卡才有的功能,如今在新出现的图形加速卡中这些功能几乎成了标准配置。比如Allience6410、Trident9680、S3/765。 DCI功能包括多个部分,因此各种图形加速芯片具体实现的DCI功能也可能不尽相同,比如笔者使用的VRAM ET4000/W32P就没有基于硬件的色彩转换(把YUV信号转换成RGB信号)和画面缩放功能;甚至于同一个图形加速卡在不同的显示模式下,具体实现的DCI功能也有区别,比如最新的S3/765(Trio64V+)在24位真彩色下就没有硬件缩放功能,而在256色以上的其它显示模式下就有这个功能。 DCI功能中和软件播放VCD关系最大的是基于硬件的色彩转换和画面缩放。这两个非常关键的功能并不是所有支持DCI功能的图形芯片遥。有这些图像加速功能的显示卡在解压缩MPEG视频影像的时候,不仅能分担原来要CPU承担的许多运算任务,还能弥补芯片本身数据传输率的不足,因此可以显著提升画面质量。 2.用于Windows95的“Direct Draw” 现在Windows95已经出台了。出于对Intel公司NSP战略的不满,Windows95不支持DCI,但是支持一个号称速度更快的“Direct Draw”标准。实际上很大程度只是程序界面不一样。一块支持DCI功能的图形加速卡,重新写一个符合“Direct Draw”要求的驱动程序, 提供的图像加速功能可以使用。 目前,笔者使用的国产“象”牌S3/765显示卡除了提供有DCI驱动程序之外,也提供了“Direct Draw”驱动程序。不同的生产厂家提供的驱动程序是有区别的。有些台湾厂家的S3/765就没有提供Windows95的驱动程序,但是提供了OS/2WARP的驱动程序。因此购买的时候,不仅要看卡本身的质量,还要看提供的驱动程序。 如果不是必须,尽量不要在Windows95下用软件播放VCD!不要听信广告中认为Windows95更快的说法,你需要添加内存和换更快的CPU才能达到原本已经在Windows3.1下实现了的效果。 四、MPC3与VCD 感觉出来了吗?奔腾75以上的CPU、有硬件色彩转换和画面缩放功能的显示卡。这不就是刚刚出台的MPC3的标准的要求么!也就是说你的电脑只要符合MPC3的标准,就可以很舒服地用软件播放VCD。MPC3标准的其它部分是:4倍速光驱、8MB内存、540MB硬盘。按照现在的价格,我看应该选择16MB内存和1.2GB以上的硬盘。不罗嗦了,祝你好运!