全景抗锯齿图像质量比较

互联网 | 编辑: 2000-09-06 15:34:08

如果你在去年十一月时要我推荐一块支持FSAA(全景抗锯齿)功能的显示卡,唯一的选择是等待3dfx公司的Voodoo4/5上市。直到GeForce2 GTS芯片的官方发布会后,我们才意识到NVIDIA已经在他们最新的雷管驱动中包括了对全景抗锯齿的支持,而且ATI公司尽管感到全景抗锯齿并不是未来的趋势,但在最新的Radeon芯片中还是加入了对它的支持。现在3dfx公司不是唯一的FSAA玩家了,下一个问题是这三种主要芯片的全景抗锯齿性能哪个最佳。我试图做一个尝试,让你自己得出这个答案(因为图像质量是一个非常主观的话题)。在看完这篇文章后相信你会有一个自己的判断。

硬件 vs. 软件

有一件事一直有争论,因为实现全景抗锯齿的方式有硬件和软件两种,前者是显示芯片内在的特性,后者是驱动程序的一种功能,可以在驱动支持的任何显卡上实现。到底哪种实现方式更好,是个疑问。其实无论是类似3dfx的T缓冲硬件实现FSAA,还是通过NVIDIA最新雷管驱动〔5.30版以上〕以软件的方式实现FSAA,从目前来看,效果都差不多。如果你要实现一个包含2个采样点的全景抗锯齿算法,你将要占用一半左右的显卡填充率来为大多数像素着色两次。这种说法支持目前当红或即将上市的所有显卡:Voodoo4/5、ATI的Radeon和GeForce/GeForce2 MX/GeForce2 GTS/GeForce2 Ultra。

样本

第二件需要谨记的事是一项十分简单的原则,但在谈论全景抗锯齿时常常被误解。就象上面所说的,无论你使用的显卡是一块Voodoo5、Radeon或GeForce2 GTS,如果你要对大部分像素着色两次,它将占用一半的填充率。但Voodoo5和GeForce2 GTS在打开两个样本全景抗锯齿模式时的性能是不同的,这并不是因为一块卡的全景抗锯齿速度比另一块卡快,而是因为显卡本身的性能差异。现在让我们看一下三家厂商的显卡在全景抗锯齿模式下的性能表现。

3dfx

3dfx的Voodoo5 5500使用它自己的T缓冲来实现全景抗锯齿。T缓冲理论上非常接近于一个缓冲池,支持VSA-100主芯片在向屏幕输出图像前,对多重帧进行着色和混合。3dfx的全景抗锯齿模式是通过T缓冲将多重帧混合为一个单帧,加上稍许的改变,因此有利于除去任何场景内的边缘锯齿。Voodoo5 5500提供两种全景抗锯齿设置,分别是2个采样点和4个采样点。准确地说,3dfx在两个采样点的情况下对当前帧着色两次然后再混合并输出该帧,4个采样点的情况下对当前帧着色四次然后再混合并输出该帧。所以打开全景抗锯齿功能意味着待着色的像素数量变为原来的两倍或四倍。Voodoo5 5500的像素填充率对应下降为333百万像素/秒或166百万像素/秒。

像素填充率比较
  关闭全景抗锯齿 两个采样点的全景抗锯齿 四个采样点的全景抗锯齿
3dfx Voodoo5 5500 667百万像素/秒 333百万像素/秒 166百万像素/秒
3dfx Voodoo3 3500 366百万像素/秒    

就象你在表格中看到的那样,打开2个采样点的全景抗锯齿后,Voodoo5 5500的理论填充率下降到Voodoo3 3500的水平,如果打开4个采样点的全景抗锯齿,甚至下降到Voodoo3 3000的水平。让我们看一下在极品飞车五(保时捷之旅)中3dfx的全景抗锯齿功能打开前后的图像变化,解析度为640 x 480 x 32位色,从左至右分别是全景抗锯齿功能关闭、2个采样点的全景抗锯齿、4个采样点的全景抗锯齿。

大家注意以下三个细节:

  1. 在远处有一条架空电线,它应该是光滑并连续的。
  2. 左面的房屋边角应该是光滑的。
  3. 保时捷911 Turbo赛车的边缘应该是光滑的。
点击可放大

显然,在没有打开全景抗锯齿的功能以前,以上三处有明显锯齿或者断续,而打开4个采样点全景抗锯齿后,效果相当理想,完美重现了游戏设计者的初衷,打开2个采样点的全景抗锯齿功能,效果介于两者之间。

位置相关的细节设置(LOD)

位置相关的细节设置对全景抗锯齿的效果也有一定影响,下面是两张QUAKE3中的同一位置图片对比, 解析度是640 x 480 x 32位,上面一张是3dfx的4采样点全景抗锯齿,位置为0,下一张是3dfx的4采样点全景抗锯齿,位置为8。

位置8的效果比位置0的效果略好一些。

ATI

Radeon可能是支持全景抗锯齿功能的显示芯片中最容易测试的一种,它只支持一种设置,即4X FSAA。Radeon的全景抗锯齿通过超样本的方式来实现,这和NVIDIA采用的方法一致。主要获取当前的游戏解析度,然后乘上一个参数,使用这个更高的解析度对场景进行重新着色,在显示前按比例恢复到原游戏解析度。

对Radeon芯片来说,它的"4X FSAA"其实是4采样点的全景抗锯齿方式,将当前的游戏解析度乘上2倍,重新对场景进行着色后恢复到原解析度显示。举例来说,如果当前游戏解析度是640 x 480的话,对场景以1280 x 960着色后再恢复到640 x 480显示。这意味着Radeon的着色像素数量增加到原来的4倍,所以说Radeon的4X FSAA类似于3dfx的4采样点全景抗锯齿。

不幸的是,因为Radeon只有一种全景抗锯齿设置,在兼顾全景抗锯齿效果的同时,不可避免的导致像素填充率的大幅下降,在不少游戏中的帧数可能达不到极其流畅的效果。

像素填充率比较
  关闭全景抗锯齿 打开2个采样点的全景抗锯齿 打开4个采样点的全景抗锯齿
ATI Radeon 64DDR 366百万像素/秒   91.5百万像素/秒
3dfx Voodoo3 3500 183百万像素/秒    
NVIDIA TNT2 Ultra 300百万像素/秒    

Radeon的像素填充率在打开4X全景抗锯齿后下降得真是太厉害了。以下让我们比较Radeon打开全景抗锯齿前后的效果。

和Voodoo5一样,打开4X全景抗锯齿后达到了理想的效果。

NVIDIA

就象我先前提及的,NVIDIA的全景抗锯齿和Radeon一样,采取了超样本的方式。主要的区别是NVIDIA有多得多的具体设置 - OpenGL下3种,Direct3D下8种。

以下为详细设置:

  • 1.5倍解析度(2.25倍样本解析度)
  • 2倍解析度,在当前解析度下使用位置相关设置(4采样点)
  • 2倍解析度,在2倍当前解析度下使用位置相关设置(4采样点)

因此,如果你在640 x 480下玩游戏,第一项设置就会以960 x 720 (640 * 1.5 x 480 * 1.5)的解析度重新对场景进行着色然后以640 x 480的解析度显示。用雷管驱动5.30以上版本就可打开全景抗锯齿功能,具体单项设置我会在以后的文章中给大家介绍。

像素填充率比较
  关闭全景抗锯齿 打开2个采样点的全景抗锯齿 打开4个采样点的全景抗锯齿
NVIDIAGeForce2GTS 800百万像素/秒 356百万像素/秒 200百万像素/秒
3dfxVoodoo33500 183百万像素/秒    
NVIDIATNT2Ultra 300百万像素/秒    

GeForce2 GTS显然在4采样点的全景抗锯齿方式下仍有强劲的像素填充率,但考虑到显存带宽的限制,GeForce2 GTS在实际情况下达不到理论值。如果你留意的话,NVIDIA采用了两种 2x2设置(4采样点),两者唯一的区别在于多重纹理贴图下位置相关的偏差问题。第一种2x2设置通过使用有位置相关偏差的多重纹理贴图来努力实现低分辨率下的着色。第二种2x2设置使用无位置相关偏差的多重纹理贴图来实现高分辨率下的着色,后者可以明显提高图像质量。

上图从左至右分别为1.5 x 1.5、2 x2有偏差、2 x 2无偏差的图像,明显地可以发现图像质量也是从左至右改善,这可以从地板的边缘锯齿看到变化。不过天空的贴图实在太烂了,在研究这个问题前让我们看一下各种配置情况下的性能比较:

以上的图表说明在640 x 480的解析度下,三种FSAA设置的结果都不错。而800 x 600下似乎也不错,但一旦达到更高的解析度,帧数在不同的设置下下降的就很快。

S3TC =天空贴图为什么这么烂?

先前我们注意到在GeForce2 GTS的屏幕截图中天空的贴图很差,但在对照组包括Voodoo5 5500和ATI Radeon的截图中天空的贴图相当不错。

让我们仔细看一下这糟糕的天空:

是不是很烂?但当我们关闭S3TC纹理压缩(GeForce2在雷管驱动5.xx起支持纹理压缩)支持后,情况变成了下面的情形:

效果相当理想,关闭S3TC功能只需要在Quake III的控制台中将’r_ext_compress_textures’这项设置设为0。不过副作用是在大量纹理的场景中性能会受影响。

NVIDIA的Direct3D全景抗锯齿设置

NVIDIA在Direct3D下有一整套复杂的设置,但只有两种设置在普通游戏中有实际意义。让我们来看一下有关的设置:

  • 1x水平解析度,2x垂直解析度 - 2个采样点的全景抗锯齿,无偏差位置相关
  • 2x水平解析度,2x垂直解析度 - 4个采样点的全景抗锯齿,偏差位置相关
  • 2x水平解析度,2x垂直解析度 - 4个采样点的全景抗锯齿,无偏差位置相关
  • 2x水平解析度,2x垂直解析度 - 4个采样点的全景抗锯齿,无偏差位置相关,不同的过滤设置
  • 3x水平解析度,3x垂直解析度 - 9个采样点的全景抗锯齿,偏差位置相关
  • 3x水平解析度,3x垂直解析度 - 9个采样点的全景抗锯齿,无偏差位置相关
  • 4x水平解析度,4x垂直解析度 - 16个采样点的全景抗锯齿,偏差位置相关*
  • 4x水平解析度,4x垂直解析度 - 16个采样点的全景抗锯齿,无偏差位置相关*

*注意:这两项设置要求一块64MB的显卡

除非你想让自己的显卡运行在原来速度的1/9或1/16上,否则后四种设置完全是无用的。 GeForce2 GTS如果采用后四种设置将在大多数游戏里无法达到理想的帧数。游戏中效果和帧数的完美结合应该是4采样点的三种设置。以下是三种4采样点的全景抗锯齿设置在极品飞车中的屏幕截图:

通过仔细的观察,你应该发现三者之间微小的差别,显然最后一种设置效果最好。

3dfx vs ATI vs NVIDIA

前面我们分别谈论了每个制造商在全景抗锯齿方面的设计,现在让我们在每档解析度上比较三家厂商的产品。

在两个采样点的全景抗锯齿比较中,我认为NVIDIA GeForce2 GTS在画面的鲜亮清晰方面强于3dfx Voodoo5 5000 2,而后者的边角处理比较好一些。你的意见呢?

下面让我们转到4采样点的全景抗锯齿比较,这次包括了ATI的Radeon。

在所有三个屏幕截图中远方的架空电线清晰可见并且是连续的,Radeon和GeForce2 GTS的全景抗锯齿下的图像质量相当接近,这和他们采用同样的方法和相同采样点有关。Voodoo5略微领先于其他两家。

点击可放大

在上面Quake III的屏幕截图中,你可以看到Voodoo5 5500明显在图像质量上超过了Radeon和GeForce2 GTS。当然,只要关闭纹理压缩选项,GeForce2 GTS的天空贴图还是可以接收的。

性能

不过图像质量并不是唯一的因素,我们必须同时考虑多种全景抗锯齿设置下帧数方面的比较:

你可以看到,Radeon在16位色下帧数不如GeForce 2 GTS,Voodoo5 5500在4采样点情况下虽然提供了更好的图像,但帧数实在是不怎么样。在32位色下,Radeon就毫不客气的占先了。

结束语

从性能方面来看,目前没有一块卡可以在高分辨率下打开4采样点的全景抗锯齿后,在帧数上超过60帧,而2采样点的全景抗锯齿情况下,3dfx和NVIDIA可以达到我们的要求,如果ATI Radeon能添加对2采样点的支持就太好了。通过对本文的阅读和你对各屏幕截图的分析,你的答案是什么呢?

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑