泡泡网显卡频道 PCPOP首页      /      显卡     /      评测    /    正文

王者之间的较量,R300 VS NV30深度

高次表面(Higher Order Surfaces,简称HOS),由DirectX 8.0率先引入,但是仅仅提供了最简单的HOS技术:N-Patches。在DirectX 9.0和最新一代图形处理器R300和NV30中,HOS被大大加强了,除了继续提供并增强了对N-Patches支持外,新增了对适应性龟裂(Tessellation)、连续性龟裂和置换贴图等更高级HOS技术的支持。由于在现代图形处理器的3D处理流水线中,第一个处理单元就是处理HOS数据的龟裂单元(Tessellator、Tessellation Unit或Tessellation Engine),因此,我们首先来讨论R300与NV30的相关实现特点,见下表。

置换贴图实现:Parhelia 512 vs R300 vs NV30

从前面的表格中,我们可以看出NV30在规格上取得了胜利,甚至独家支持超越DX9.0标准的几何置换贴图。(以下内容是笔者的理解,由于相关资料当前十分匮乏,所以可能有误)由于几何置换贴图的置换值不仅仅能够作用于三角形的顶点部位,而且还能够作用于三角形的内部,因此理论上可以比顶点置换贴图获得更完美的视觉效果,在镜头变换时能够得到更平滑的视觉效果,当然也就需要更强大的计算能力。

P512采用是真正的硬件置换贴图方案,就是说所有的相关计算、龟裂等操作都完全是由硬件完成的。由于Matrox为自己的硬件实现方案申请了专利,所以ATi的R300不能够采用同样的方法,因此R300采用的硬件和软件相结合的方式实现的置换贴图。基于同样的原因,NV30也有可能采用硬件和软件相结合的方式来实现置换贴图。

不过,具有讽刺意义的是。号称完全硬件实现的P512在真正运行采用置换贴图的3D游戏或者应用程序时,很可能效率最低。原因很简单,P512拥有一个效率极其低下的三角形建立引擎。置换贴图不但不能够降低三角形数量,相反,还会大大增加需要处理的三角形数量,可谓雪上加霜。即使P512拥有最快速的HDM实现,也避免不了由于三角形建立引擎瓶颈的制约,而导致性能低下。

争议性的HOS:

高次表面的优点很明显: 在AGP总线和本地显存上仅传送少量的曲面控制点数据,而不是海量的顶点数据,大大的舒缓了GPU的对AGP总线和本地显存的带宽需求,使得带宽不再是整个3D绘图性能的瓶颈。 同时,使用支持创建高次表面物体的特殊创作工具,程序设计员和美工可以创造出很细腻的物体,而不在几千个三角形中纠缠不清。

无可避免的,这种技术也有缺点。成也萧何,败也萧何。其缺点主要来自其优点,为了更清晰的3D描述进行龟裂(计算机图形程序员称其为“几何放大”),这会大大增加三角形的数量,为GPU的几何处理单元带来沉重的压力。如果与大量增加几何运算量的阴影容积(Shadow Volumes)算法同时使用的话,需要处理的三角形数量会产生倍增效应,对于性能来讲,结果是灾难性的。而现代游戏引擎为了最真实的阴影效果离不开阴影容积。同时,还引入了一下问题:

1、冲撞检查很困难,需要额外大量计算。想想看,物体不是由准确的三角形所代表,那么游戏会花很大的功夫去作冲撞检查。 在冲撞检查时,要时刻计算物体的实际表面,这会需要很大的计算量。

2、光照和阴影计算也变得困难和容易出错,原因同上。多边形边界和缝隙等处容易产生撕裂等图像瑕砒。

总而言之,要想在现代游戏引擎中真正采用HOS技术,所面临的困难和问题还是挺多的。著名的计算机游戏程序设计大师John Carmack就是反对HOS技术的领军人物之一:

“置换贴图。唉。我很失望业界仍然在追求这些基于四边形的技术。难道我们从3DO、Saturn和NV1的辉煌成就(呵呵,提醒菜鸟们,它们都很失败—笔者)中还领会不到四边形(技术)实在很糟糕吗?在任何情况下,我们都不会在模板阴影容积的同时还使用任何几何放大方案(包括ATi的Truform)。”

——2002年6月25日

尽管JC的论断显然不但偷换了概念(四边形技术与HOS或D-Mapping并没有必然的联系—笔者),且犯了错误(Matrox的HDM并非基于四边形技术—笔者),但是其本意还是说出来了:如果同时使用大量增加几何运算量的阴影容积算法和HOS技术的话,当前GPU的几何处理能力还达不到。

很快,在某种压力下,JC道了歉并换了一种说法,可是其本意却没有发生任何变化:

“必须向Matrox道歉—他们的硬件置换贴图并非是基于四边形技术。我(当时)想到的是另外一个公司提出的方案(哈哈,很可能就是nVIDIA,其在GeForce 3/4中提出的Polynomial Surfaces技术就是基于四边形的—笔者)。Matrox的实现事实上看起来很棒,因此,即使我们由于几何放大问题而不去使用它,我想它还是能够服务于一个伟大的目的:痛扁任何基于四边形技术的实现方案。”

——2002年7月27日

到最后,JC还是念念不忘调侃一下D-Mapping和四边形技术。

不过笔者相信,HOS技术还是有其用武之地的。并且随着HOS自身的不断进步和完善,同时随着新一代GPU:R300和NV30为我们带来的强大几何处理能力,HOS的应用领域会越来越广泛。

注:如果对HOS技术很感兴趣,笔者有一篇专门讲解DX9 HOS技术的文章。<

0人已赞

关注我们

泡泡网

手机扫码关注