HSR--今天你用了没有

互联网 | 编辑: 2001-10-11 00:00:00

所谓HSR(Hidden Surface Removal)是3dfx开发的一种隐面消除技术。它的主要功能是将所要显示的三维图像进行特定的处理,让显示芯片只对那些在屏幕表面显示出来的部分,构建物体架构,进行表面渲染,而其它被遮盖的部分则省略掉,从而大大减轻显示芯片的负担,以此提高性能。

说到这里大家一定会联想到另一个名字:Hyper-z。作为ATI的新技术,它与HSR有些相似,但又大相径庭。我们知道只有在3D画面中才有深度的概念,他决定了场景中的前后关系,被称为Z轴。Z轴中的各种参数被放在显存中的Z-Buffer区,3D画面的分辨率越高,大量的多边形和贴图材质便会使显存与显示芯片间的数据传递越频繁,由此产生显存带宽的不足。而ATI在Radeon中将Z-Buffer内的数据分为Zmin和Zmax,存放于芯片核心内新建立的存储区。然后类似HSR那样不调用被遮挡部分对应Z-Buffer内的数据,从而减少对显存带宽的占用。

由此可见,HSR和Hyper-Z有以下两点主要区别:首先,HSR作为一种先进的“算法”,通过软件手段便可实现;而Hyper-Z则必须硬件支持。也就是说,理论上讲HSR可以用于任意一款有合适的驱动支持的显卡,但对Hyper-Z我们所能作的,至多也就是在Radeon LE这类原本已在硬件上支持,只是被屏蔽了的显卡上打开它而已。其次,HSR减轻的是显示芯片的负担,Hyper-Z则缓解了显存带宽的不足,它们有本质区别(HSR只对OpenGL/Glide有效,Hyper-Z只对D3D不知为何故)。真希望能让两者结合在一起,现在看来只能期待ATI了。

下面谈谈HSR的打开(本人用的是VooDoo3 2000 Driver Version:1.07.00)。

开始以为只要在注册表中做做手脚便成,于是就在HKEY_LOCAL_MACHINESystemCurrentControlSetServices ClassDisplay000Glide下加入键值FX_GL_HSR=4,可在Quake3测试中发现并没有丝毫改观,HSR并未生效。

于是我又找了一个VooDoo5的驱动装上,这时在3dfx Tools的3dfx Advanced Features中的OpenGl/Glide内找到了HSR的选项,其中有Disable(HSR 0),Conservative Tiling(HSR 1),Non-Aggressive Tiling(HSR 2),Semi-Aggressive Tiling(HSR 3),Aggressive Tiling(HSR 4)五个选项,相信大家一定已经在其它地方见过这五项含义,它们依次代表了隐面的程度由浅到深。进入Quake3一试,成了!后来,我又在驱动之家找到了一个直接支持HSR的VooDoo3驱动。

下面是我对这五个选项的测试:

  • 赛扬II900
  • BX主板
  • VooDoo3 2000 (143MHz Driver: Chris Airey1.07.80-BETA)
  • Windows98 SE
  • QuakeIII Arena 1.09(默认设置)

测试数据见下图。

由上述测试结果我们不难发现,HSR在高分辨率下的表现可圈可点,使VooDoo3再不超频的情况下得到了30%的性能提升(不过在游戏中有部分贴图错误),但此时的分辨率仍只有800*600为了进一步发掘HSR的潜力,我在不改变其它设置的情况下将分辨率改为1024*768。

测试数据见下图。

我呆呆的望着这一结果愣了半天,要知道用软件的手段使性能提升100%,这无论如何也是一个奇迹!可惜我的显示器不能再提高分辨率了,说不定更有惊喜在后面。

总而言之,虽然在游戏厉害存在贴图错误的不足,但瑕不掩瑜HSR仍为VooDoo系列乃至所有显卡带来了新生。作为并不富裕的消费者,我们太希望多看到一些这种“软升级”所带来的性能飞跃了!不知道还有多少这类惊喜等待着我们。

相关阅读

每日精选

点击查看更多

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