胖熊NET,有趣实用的生活常识!

最新更新文章排行手机版

胖熊NET!

热门搜索:
当前位置: > 汽车

ati radeon hd4200

时间:2024-03-06 06:06:02人气:61作者:用户投稿

在看过3dfx短短不到五年却充满起起伏伏的历史之后,接下来我们要回头看同一时间正在快速壮大势力的ATI与NVIDIA所推出的产品,2000年是一个在个人计算机世界里极为重要的年份,除了是计算机问世以来的首个「千禧年」,人们突然意识到当年设计程序时没把2000年后的世界考虑进去,在标示年份时只用了二位数字,导致很有可能发生1900年与2000年在纪录上分不清楚的大问题(不过其实最后证实还好,毕竟计算机也没那么早被发明出来)之外,更重要的是这一年内有了很多突破性的发展,显示芯片也不例外。

2000:硬件T&L时代

·重点API:DirectX7.0、OpenGL1.3

在2000年我们迎来了个人计算机用3D图形芯片的第一次架构大改版,最主要的特性就是在显示芯片中加入了硬件T&L机能,如同上一篇我们谈过的,这也是最终导致3dfx被彻底淘汰的主要决定因素之一。

硬件T&L是什么?

相信看到这里大家最想问的问题大概就是这个了吧?实际上硬件T&L中的T&L是Transform&Lighting的缩写,包含了坐标转换与光源处理两个主要部分,在3D图形绘制的过程中这两大部分是极为关键的,坐标转换决定了视角旋转之后各多边形的位置、形状(基本上是由大量的矩阵运算构成),而光源处理则影响了之后整个物体上所打的光线与背后阴影的分布、形状等。

之所以我们在这里特别强调「硬件」T&L,其实是指显示芯片内建「T&L硬件加速支持」的意思,在早期T&L操作是由中央处理器负责的,这意味着显示芯片需要受制于处理器的成分较高,需要依赖处理器运算T&L信息之后下达指令给显示芯片,显示芯片才能开始处理像素着色、多边形生成、材质贴图等复杂的3D图形产生过程,这意味着会发生下面这堆问题:

·本来就已经很吃紧的处理器还得分神处理大量的T&L运算,拖慢其他重要计算的速度

·显示芯片比起运算来说更多时间其实花在等待处理器计算T&L上

·处理器与显示芯片之间的数据传输速率并不够快

要解决这些问题的方式其实很直觉(不过并不简单),从2000年开始NVIDIA、ATI与S3等公司就开始在自家的显示芯片当中整合了专属的T&L运算单元,从此显示适配器可以独力完成绝大多数的操作,不再需要那么大程度的受制于CPU,也解决了性能受限于CPU的问题,这就是我们说的「硬件T&L」。

NVIDIAGeForce256(NV10)

发布时间:1999年10月(SDR)、2000年02月(DDR)API支援:Direct3D7.0与OpenGL1.3像素管线:4条/材质对应单元(TMUs):4组/着色输出单元(ROUs):4组

ati radeon hd4200

诞生于1999年的GeForce256是NVIDIA第一款以GeForce为名的产品,同时也是历史上第一款能够完整支持Direct3D7.0API的显示芯片,尽管仍然是以前作RIVATNT2为基础修改而来,但在架构上还是有着不小的差别(所以代号并没有接续前作的NV5、NV6,而是直接跳到NV10了)。

ati radeon hd4200

首先,GeForce256内建的像素管线数量一举比RIVATNT2又增加了一倍(从两条增加到四条),在理论像素填充率、理论材质填充率方面比起RIVATNT2Ultra来说提升了60%左右,并加入了一组用于提升影片拨放质量的动态补偿单元,除此之外,最重要的改进当然就是刚刚提到过的硬件T&L支持。

而GeForce256也让NVIDIA成功摆脱了「只重视速度而不重视画质」的标签,透过支持CubeEnvironmentMapping(方形环境映像,本来这项技术只在Matrox的产品上看得到),GeForce256可以更妥善地处理各种会反射的表面(像是水、金属之类的物体表面),而不再需要靠各种折衷方案来「仿真」反射表面的样式(以往的显示芯片是以球体空间的方式来处理反射面,不过只有在特定角度时才能够直接产出高质量的反射表面,其他情况大多得用模拟的,不幸的是,基本上不管怎么模拟看起来还是不够真实)。

不过在商业上GeForce256并没有想象中的成功,尽管透过刚刚提到的这些特性,确实是成功让GeForce256成为当时数一数二先进的显示芯片了没错,但由于1999年底到2000年初市场上支持硬件T&L的显示芯片还很少,自然能够搭配这些新特性的游戏软件也不会太多(甚至当时还有些人主张硬件T&L无用论,不过后来真的不搞硬件T&L的厂商都化为灰烬了呢),因此GeForce256在大多数情况下并没有办法很好的发挥其所具备的性能,加上其昂贵的价格、早期驱动程序有许多兼容性问题未解与初代硬件T&L在性能上的不足(当时的顶级CPU是可以追过GeForce256的),所以在市场上并没有得到太大的亲睐(不过整体来说成绩也不算难看就是了),硬件T&L芯片的大行其市基本上要等到下一代的平民级芯片GeForce2MX诞生才会开始。

不过尽管此时加入硬件T&L的功能带来的效益还不明显,但却给NVIDIA创造了许多「附加价值」,首先,透过整合了硬件T&L单元,NVIDIA终于得以跨足进入计算机辅助设计(CAD)领域了,透过发行特别版本的驱动程序,NVIDIA得以将同样的NV10芯片另外制作成Quadro专业绘图卡,抢攻CAD领域的商机,除此之外,得益于硬件T&L支持,即便在GeForce2推出之后,GeForce256仍然得以作为公司的入门产品生存好一阵子而不被停产。

ati radeon hd4200

另一件值得注意的事情是,GeForce256是NVIDIA第一次以「GPU(GraphicsProcessingUnit)」来称呼自家的图形芯片,这个由NVIDIA首创的名词某种程度上是想透过相似的命名来拉高图形芯片在个人计算机当中的重要性(目标是与CPU齐名),而在NVIDIA强大的营销与推广之下,现在我们也很习惯以GPU称呼各种图形芯片了(在接下来的文章当中也会改用GPU一词)。

最后要提的是GeForce256并未采用类似RIVATNT2那种高中低阶分别推出产品的模式,而是只有分成两个版本,依照采用的内存为双倍数据传输率DDRSDRAM(GeForce256是第一款使用这种内存的图形芯片)或一般SDRAM/SGRAM的不同可分为SDR与DDR两个版本(一般而言容量为32MB),不过在内存带宽方面,即便是DDR版本仍然是严重不足的。

ATIRadeonR100(7000系列)

发布时间:2000年04月(DDR)、2000年06月(SDR)API支援:Direct3D7.0与OpenGL1.3像素管线:2条/材质对应单元(TMUs):6组/着色输出单元(ROUs):2组

ati radeon hd4200

还记得我们在前几篇曾经谈过由RagePro一脉相承演化而来的Rage128家族吗?家族内的最后一款产品RageFuryMAXX近乎疯狂的在单张显示适配器中塞入了两颗Rage128Pro,但最终这款有着「曙光女神」如此响亮名号搭配充分体现「大舰巨炮主义」豪迈设计的特别产品,由于严重的兼容性问题与性能不彰的配合模式,加上并不支持硬件T&L而最终落得惨败于GeForce256脚下的下场,因此2000年的ATI的核心主题其实很简单,就是希望能够一雪前耻而已。

ati radeon hd4200

整体来说其实RadeonR100与Rage128Pro之间的关系和GeForce256与TNT2之间的关系很类似,同样是基于上代作品进行的大幅度改版,同样强调加入了对硬件T&L的支持(ATI将其称为CharismaEngine),其实从原先RadeonR100最早的开发代号是Rage6C这点来看,应该就可以很明显知道它与前作的血缘关系了。

ati radeon hd4200

在像素管线的安排上,RadeonR100与前作和竞争对手GeForce256与GeForce2有着很大的不同,RadeonR100的像素管线依然维持在2条,但每条像素管线包含的纹理对应单元则一口气从一组增加到三组以支持三重纹理贴图技术(不过不幸的是使用三重纹理贴图技术的游戏并不多,因此即便RadeonR100在理论性能上可以超越竞争对手,但在实际游戏的过程当中,NVIDIA产品的表现却往往较佳)。

ati radeon hd4200

但由于ATI开发的T&L运算单元性能相当不错,加上具备特有的HyperZ内存带宽节省技术(这是GeForce256、GeForce2等系列最大的问题与弱点),因此RadeonR100除了对付主要竞争对手NVIDIA的上一代产品-GeForce256之外,对付同期推出的GeForce2甚至是GeForce3也能维持着互有胜负的局面,最终成为ATI历史上相当长寿的一代产品,并且得以一路延续到2002年才彻底失去市场地位。

ati radeon hd4200

最后要提的是RadeonR100的版本区分与命名,由于历经了不少次更名、重新编排系列编成因此显得有点混乱,大致上有这些不同的版本先后出现:

·ATIRadeonDDR(2000年04月)基于R100核心、搭配DDRSGRAM/SDRAM内存,是最早的版本。后来被更名为ATIRadeon7200(DDR)亦有以ATIRadeon7500VIVO为名发售者。显示核心频率166MHz/内存芯片频率166MHzDDR(32MB内存)显示核心频率183MHz/内存芯片频率183MHzDDR(64MB内存)

·ATIRadeonSDR(2000年06月)基于R100核心、搭配SDRSGRAM/SDRAM内存。后来被更名为ATIRadeon7200(DDR)显示核心频率166MHz/内存芯片频率166MHzDDR(32MB内存)

·ATIRadeonVE(2001年02月)基于RV100核心,以R100核心为基础砍掉其中一条像素管线并且拿掉硬件T&L支持与HyperZ内存带宽优化技术,但却加入了支持双屏幕的HydraVision技术与第二组RAMDAC后来被更名为ATIRadeon7000显示核心频率183MHz/内存芯片频率183MHzDDR

·ATIRadeon7500(2001年08月)基于RV200核心,以R100为基础将制造工艺由180奈米提升到150奈米并提高运作频率并允许内存芯片频率与显示核心脱钩的版本,并加入了支持双屏幕的HydraVision技术,与下一代的Radeon8000系列大约同期发表,但得益于频率提升,在GeForce2Ti与GeForce3面前仍然有一定的竞争力,直到GeForce4MX问世才丧失舞台。显示核心频率290MHz/内存芯片频率230MHzDDR

·NVIDIAGeForce2(NV15、NV11、NV16/NV15BR)

·发布时间:2000年04月(NV15)、2000年06月(NV11)、2000年08月(NV16)API支援:Direct3D7.0与OpenGL1.3像素管线:4条/材质对应单元(TMUs):8组/着色输出单元(ROUs):4组(NV15/NV16)像素管线:2条/材质对应单元(TMUs):4组/着色输出单元(ROUs):2组(NV11)

·

ati radeon hd4200

·当ATI蠢蠢欲动准备靠着Radeon抬头时,NVIDIA也没有停下脚步,在差不多与RadeonR100相同的时间点推出了NVIDIA历来最具代表性、最为长青的一代产品-GeForce2。

·

ati radeon hd4200

·在GeForce2这一世代当中,NVIDIA重启了过去在TNT2时期曾经尝试过的一口气使用同代架构推出不同市场产品以扩张市占率的做法(毕竟在GeForce256世代虽然没有推出对应的低阶产品,但很自然而然的老款TNT2就自动补上了这个位置,证实确实是有这个市场需求存在的),因此GeForce2主要可分为面向中高阶市场的GTS系列与面向入门市场的MX系列(虽然上图当中还有TNT2作为最入门,但实际上由于MX系列表现得太好,到最后低阶市场也几乎被MX系列吃光了)。

·

ati radeon hd4200

·首先看到的是主掌中高阶市场的GeForce2GTS家族,GTS实际上是GigaTextureShader的意思,顾名思义在GeForce2GTS这一世代NVIDIA成功让旗下的GPU突破理论像素填充率高于每秒10亿像素的关卡,之所以可以达到这一目标,主要是得益于GeForce2GTS使用的NV15核心将每条像素管线包含的材质对应单元(TMU)增加为两组(意味着总共有八组TMUs可用)与频率大幅提升(高达200MHz,主要得益于制造工艺由220奈米提高到180奈米)而来。

·而除了前面提的这些改进之外,GeForce2GTS主要的改进还有三点,分别是性能提升的第二代硬件T&L技术、内建用于处理高画质影片的处理单元(HDVP)与被称之为NVIDIA描影图形预定器(ShadingRasterizer,NSR)的像素管线设计,这可以说是未来将成为主流的可程序化像素着色器的简化前身(此项技术的前身其实也在GeForce256当中出现,但并未获得任何宣传),不过并未解决GeForce256架构当中最大的问题-内存带宽不足。

·

ati radeon hd4200

·在GeForce2GTS(频率设定为200/332)上市过后的几个月内NVIDIA又陆续为其推出了数个改版,包含2000年08月推出的GeForce2Ultra(频率拉高到250/460)、2000年12月推出的GeForce2Pro(频率为200/400)、来年十月推出的GeForce2Ti(频率设定为250/400,主要用于填补GeForce3与GeForce2MX之间的市场空隙)三款。

·

ati radeon hd4200

·至于面向中低阶市场的GeForce2MX家族则是基于NV11核心,虽然表面上型号比较接近GeForce256的NV10,但实际上NV11其实是NV15的阉割版本,主要的差异是原本的两条像素管线被砍掉了一半与本来就不够用的内存带宽再次被阉掉一半,其他特性则基本相同,比较奇怪的是GeForce2GTS缺乏的双屏幕支持反而有包含在GeForce2MX中(不知为何当年显示适配器厂商好像觉得只有用低阶显示适配器的人才会搞双屏幕,可能是认为双屏幕是商务用途吧?)。

·

ati radeon hd4200

·GeForce2MX家族可以说是NVIDIA历来最为成功的系列之一,一方面当时的主要竞争对手3dfx没能端出足够便宜又能抵挡GeForce2MX功能的产品,而ATI的RadeonVE虽然在双屏幕支持度上比GeForce2MX更好,但性能表现太差且不支持硬件T&L、RadeonSDR又太贵而且不支持双屏幕输出,于是GeForce2MX在市场上可以说几乎是没有对手,而另一方面当时又有大量的OEM厂商基于低价与可接受的性能而选择搭载GeForce2MX显示适配器。(笔者我的第一台计算机就是搭配GeForce2MX的品牌机)

·

ati radeon hd4200

·GeForce2MX家族除了一开始在2000年06月推出的无印版(频率设定为175/166)之外,在来年三月为了填补GeForce3系列没有低阶入门版而产生的市场空隙,推出了名为MX200(频率设定同样为175/166,但内存带宽阉掉一半,只剩下64bit)的入门款与名为MX400(频率小幅提升为200/166,可以选择是否搭载DDR内存,但在搭载DDR内存时内存带宽要阉掉一半)的进阶版本两者。

·在2000年我们说个人计算机图形界最大的变革是将原本由CPU负责的T&L运算移交给GPU,随着时间即将进入2001年,下一场革命也已经在酝酿当中,基本上2000与2001年应该是GPU架构变动最剧烈也最为密集的两年。

·2001:可程序化管线架构

·

ati radeon hd4200

·由于DirectX从6.0版本开始在市场上占有重要地位,从7.0版本开始与OpenGL成为市场上唯二的主流(GLIDE已经躺在旁边半死不活了),但OpenGL直到2003年之前其实都没有引入太大的变革,因此2001年GPU架构上出现的革新基本上几乎可以说是与DirectX8.0的发展切齐的,所以接下来我要先稍微介绍一下DirectX8.0引入的新特色。

·发展方向的转变

·在2001年以前,基本上GPU的发展目标非常明确,除了增加每秒能生成的多边形数量之外,就是尽可能在同样时间内处理更多、更复杂的材质贴图,在3D图形的初期来说,这样的做法绝对是正确的,毕竟构成图形用的多边形不够多,立体图形就会显得粗糙;材质贴图不够复杂、丰富,立体图形的表面看起来就不真实,在这样的思维底下,为了追求速度与避免过于复杂的架构设计,当时的显示芯片中的各个单元的功能是「固定」的,只能根据芯片上设计好的模式(State)来运作,每个步骤要做哪些事情都是固定的,并不能随着场合不同而有所变动,称之为固定功能管线(FixedFunctionPipeline)。

·

ati radeon hd4200

·举例来说,一笔数据进入GPU之后,首先要进行顶点处理、T&L运算、多边形生成、视角运算、材质贴图等过程,如同大量生产的生产线一般,每个像素需要经过的工序都完全相同,不能因用途不同而运用软件方面的手段给予差别待遇。

·固定功能管线的困境

·但是在面对更加复杂(却也更加现实)的3D画面时,旧有的思维显然是不敷使用的,举例来说,在大自然的景象当中经常出现的水面波纹,若用原有的思维来处理,显然得把整个画面拆成N多倍数个的多边形与N多倍复杂的贴图来处理,但这样肯定是不合效益也不切实际的吧?在这种时候,如果可以让这些功能能够依据实际状况来随机应变,那不是很好吗?于是人们开始思考,要怎么样让GPU内的各个部分「更有弹性」一些。

·首先要思考的问题是,要达到这个目的我们该从硬件着手还是软件着手呢?如果从硬件着手,那显然我们得在硬件上老老实实地把各种不同功能的电路通通塞进去,但这显然会造成电路复杂度无量上升,连带导致芯片的设计、生产成本也一飞冲天,所以这条路显然行不通。

·既然从硬件硬上的手段行不通,显然我们得加上软件的协助。于是我们得回到整个计算机的架构开始重新思考,显然在计算机当中与GPU在设计上最为接近,又能根据软件交办的事项随时随机应变处理各种运算的代表就只有CPU了,那么我们如果像设计CPU那样,把显示芯片上负责「某些功能」的「某些部分电路」改成「支持某些功能」的「处理器」,是不是就能达到我们要的目的了呢?

·ShaderModel的诞生

·于是为了达到刚刚所说的目的,微软在DirectX8.0当中首次引入了被称为「ShaderModel」的概念,而在DirectX8.0当中,ShaderModel主要又可以分为VertexShader(顶点渲染器)与PixelShader(像素渲染器)两种。

·

ati radeon hd4200

·单从字面上来看可能不是很容易了解这两种渲染器到底有甚么功能,所以我们要再次回到刚刚看过的固定功能管在线,以往像素数据进入GPU时,要先经过GPU内「硬件T&L」运算电路的处理,而VertexShader实际上就是用来取代原本在2000年刚刚加入GPU内不久的硬件T&L电路用的,本质上如同前面所说,可以想象成一种「主要指令集由各种T&L相关功能组成」的「小型处理器」,于是软件工程师就可以透过编写软件的方式来达到一定程度上弹性调整、改变T&L功能的效果了。

·

ati radeon hd4200

·至于PixelShader的部分其实也是基于差不多的想法发展出来的,主要是用于取代原本负责将材质贴图与像素融合这道工序的电路之用,在经过这样的变革之后,软件工程师能够发挥的地方一下子多了很多,因此在DirectX8.0开始游戏的画面质量可以说是有了飞跃性的成长(尽管第一版的ShaderModel还很阳春,而且只能用低级语言控制),接下来基本上每次DirectX的改版都多多少少会对ShaderModel做一点更新,例如根据软件工程师的需要来增加这些Shader所能支持的指令之类的,最后,由于从这个时期开始,软件工程师可以透过程序来控制甚至改变Shader的功能或表现,因此被称之为「可程序化管线」(ProgrammablePipeline)。

·NVIDIAGeForce3(NV20)

·发布时间:2001年03月API支援:Direct3D8.0、OpenGL1.2ShaderModel版本:VertexShader1.1,PixelShader1.1像素渲染器(PS):4组/顶点渲染器(VS):1组/材质对应单元(TMUs):8组/着色输出单元(ROUs):4组

·

ati radeon hd4200

·NVIDIA在2001年初推出的GeForce3是世界上第一款配合DirectX8.0规范而推出的产品,基本上是从上一代的GeForce2修改而来,同样是采用4条像素管线、8组TMU与4组ROU的配置,但如同其代号又再次从NV15跳到NV20所显示的,在架构上GeForce3的变动其实很多。

·

ati radeon hd4200

·相较于上代产品来说,GeForce3最主要的改进有三个地方,首先要提的是被NVIDIA官方称之为nFiniteFXEngine的技术,实际上nFiniteFXEngine(有不少人怀疑这名字是不是与3dfx有关,毕竟NVIDIA刚在几个月前收购了3dfx的所有技术,不过我个人认为应该只是名字用到而已,毕竟距离收购案宣布只过了三个月而已)就是我们刚刚花费不少篇幅探讨的ShaderModel,这是GeForce3与前作之间最大的不同。

·但nFiniteFXEngine的引入实际上并没有让GeForce3成为一代成功的GPU,一方面因为初期能够得益于这项技术的游戏软件并不多(跟GeForce256第一次加入硬件T&L时的状况很像),另一方面是因为牵涉到架构方面的大幅改变与重新设计,这很大程度影响了GeForce3的实际表现与生产良率(这又直接影响了生产成本,并且进一步牵动了价格)。

·

ati radeon hd4200

·第二个不同则是在内存带宽的利用机制上,GeForce3引入了被称之为光速内存架构的LightspeedMemoryArchitecture(LMA)技术,有效解决了过去GeForce256与GeForce2最大的弱点-内存带宽不足,某种程度上你可以把它当成NVIDIA家的HyperZ技术来看(尽管实作的方式并不完全相同,但目的与结果是相似的,也用到了一些类似的东西,像是Z-Buffer压缩技术之类的)

·

ati radeon hd4200

·而最后一项不同则比较没有前两项那么来得重要,GeForce3的反锯齿能力相较于前几代GeForce来说有了明显的提升,NVIDIA将这项技术称为「高分辨率反锯齿(HRAA)」,具体上来说是运用一种称为「Quincunx」的特殊算法(抓两条对角线组成一个梅花点的形状)来执行多重取样反锯齿(MSAA),由于需要的取样点比起以往使用超取样反锯齿(SSAA)时来得少,所以在速度上比起SSAA来得快上许多,但是在效果上又与过去使用的反锯齿相差无几(理论上2xQuincunxMSAA差不多就能有4xSSAA等级的效果)。

·

ati radeon hd4200

·至于在系列编成的部分呢,相较于GeForce2由GTS与MX两大家族分别负责高、低阶市场的作法而言,GeForce3的家族组成显得单薄许多,受到第一次导入可程序化管线设计但技术还不够成熟的影响,最原始的GeForce3(2001年02月推出)由于在绘图管线配置上与GeForce2GTS很相近(有着几乎相同的理论像素填充率),因此在性能测试中没办法占到太多便宜(甚至由于频率较低,很多时候还会反过来输给GeForce2Ultra),基本上可以视为具备可程序化管线设计的GeForce2GTS,但由于价格高昂许多却没能带来太多性能提升,因此在市场上并未获得太多亲睐,可以算是典型的「付出很多心力却没甚么收获」的案例(下图当中绿色的部分就是GeForce3有大改变的部分)。

·

ati radeon hd4200

·这样的尴尬情况大约要等到2001年10月NVIDIA重新规划GeForce家族,以GeForceTi为名将整个家族的阶级分别整个砍掉重练才有所好转,新的GeForceTi家族包含针对顶级市场推出的GeForce3Ti500、对应中高阶市场的GeForce3Ti200与目标为低阶入门市场的GeForce2Ti(比GeForce2Ultra还要略差一点的型号,处理能力大致相同,但内存带宽降到GeForce2Pro等级)三种(在这个时期里Ti是「最高CP值」的象征,并不是如同目前GeForceGTX980Ti中的Ti代表「强化高级版本」的意思)。

·

ati radeon hd4200

·面向顶级市场的GeForce3Ti500实际上是GeForce3的频率提升版本,运作频率从原本的200/460MHz大幅提高到240/500MHz,直到这之后GeForce3的性能表现才真正具有竞争力(毕竟是当家旗舰,新科旗舰居然打不过上代王牌说真的很难看),至于面向主流市场的GeForce3Ti200则是「GeForce3的降频版本」,价格上比GeForce3还要略低,但是性能基本上经常输给GeForce2Ultra,甚至在对上GeForce2Ti时也是如此,并没有太大的可看性,设计这款型号的主要目的大概只是为了加快可程序化管线与DirectX8.0的普及吧?

·至于为什么NVIDIA不比照GeForce2时代的做法推出GeForce3MX来担当主流与入门市场的主角呢,其实不是「不想」,是技术上还「做不到」,当年由于GeForce3第一次导入许多全新的架构设计,因此在良率上的表现一直都不够理想,反映在成本上之后自然导致NVIDIA实际上很难以足够低的成本来设计出低阶入门版本的GeForce3MX,毕竟赔钱的生意没人肯做的。

ATIRadeonR200(8000系列、9000系列低阶版)

发布时间:2001年08月(R200)、2002年08月(RV250)、2003年04月(RV280)API支援:Direct3D8.1、OpenGL1.4ShaderModel版本:VertexShader1.1,PixelShader1.4像素渲染器(PS):4组/顶点渲染器(VS):1组/材质对应单元(TMUs):8组/着色输出单元(ROUs):2组(R200)像素渲染器(PS):4组/顶点渲染器(VS):1组/材质对应单元(TMUs):4组/着色输出单元(ROUs):1组(RV250、RV280)

进入21世纪的GPU产业早已与20世纪末大有不同,随着OpenGL与DirectX的兴起主宰了整个个人计算机3D图形的天下,GPU开发已经不必像过去那样瞎子摸象般的寻找未来趋势并担心一跟不上、一给对手可乘之机可能就会被其他竞争对手给取代的问题,最基本的发展方向是很清楚的,跟着API走基本上不会有太大的问题(而设计API的微软与OpenGL组织实际上也会与GPU厂商互动来发展更强大的API)。

ati radeon hd4200

因此在NVIDIA推出GeForce3进入DirectX8与可编成化管线的时代时,ATI当然也不可能不跟随时代的脚步走上相同的道路,不过这次ATI不抢快的策略倒是押对宝了,因为在DirectX8.0规范推出后没几个月,微软就发布了DirectX8.1作为DirectX8.0的补充(主要是ShaderModel方面的改进,可以支持的规格参数更高也更有弹性),于是GeForce3上市没多久就面临了「不支持最新版DirectX」的窘境,这某种程度上导致了GeForce3终究只能做为过渡产品的命运。

尽管晚了几个月,但是RadeonR200在2001年08月得以「全球第一款完整支持DirectX8.1的GPU」称号风光上市,对于ATI的市占与评价提升有着一定的作用,而且最值得纪念的是-这是有史以来第一次ATI的GPU产品在功能方面得以超越NVIDIA当下的旗舰。

ati radeon hd4200

首先从架构看起,还记得之前我们谈到RadeonR100系列的时候有特别提到RadeonR100的像素管线配置(CharismaEngine)很特别吗?当时为了支持三重纹理贴图所以ATI给每条像素管线设计了三组纹理对应单元(TMUs),但实际上绝大多数程序都只能活用双重纹理贴图因此多出来的那组TMU其实往往没甚么事情可做,因此造成了RadeonR100理论性能高于GeForce2,但却没办法反映在实际使用中的问题。而RadeonR200就没有这个问题了,ATI不再坚持三重纹理贴图技术,每组像素渲染管线(CharismaEngineII)都只设计了两组TMUs可供使用,而多出来的空间则是用来将像素渲染管线的总数一口气加倍增加到了四组。

受到架构更加贴近实际需求,得以大幅提升TMU资源的使用效率,而且像素管线的组数大有成长的因素影响之下,RadeonR200相较于R100来说在性能上有了非常大的成长(特别是与GeForce3的「不长进」两相对照之下感觉更明显)。

除此之外RadeonR200也首次加入了ATI自行研制的曲面细分硬件加速引擎-TruForm(如下图与上方影片,不过由于使用上相当依赖开发者编写程序时的方法,而且只在一些特定的状况下有好的效果,因此采用率并不高,在后续产品中就见不到这个硬件加速单元了,改为使用软件支持的方式呈现,直到2007年的RadeonHD2000系列才又加入类似功能的硬件加速单元)。

ati radeon hd4200

不过尽管硬件上RadeonR200大致上解决了RadeonR100中有的问题,并且追上NVIDIA进入了可程序化管线世代,甚至在功能性方面超越了NVIDIA(特别是PixelShader1.4的支持),但这款产品最大的败笔就是驱动程序,上市初期的驱动程序甚至几乎没办法正常进行游戏,玩家光是看错误讯息与各种各式各样的破图、异常效果就饱了,这样拙劣的驱动程序根本无法完整发挥RadeonR200芯片的实际能力(特别是反锯齿的部分,ATI似乎根本没写完驱动程序就赶着让Radeon8500上市了,当时的驱动程序只能在Direct3D模式下提供反锯齿功能,而且速度慢到非常惊人的地步)。

ati radeon hd4200

看过架构上的简单介绍之后,接下来我们回到产品本身来看,RadeonR200芯片先后有三个衍伸型,分别是最原始的R200与针对中低阶市场推出的RV250、在R300系列推出之后用来担当入门级产品的RV280三种,尽管ATI曾经试图发展以R200为基础的强化版本R250(可能会称为8500XT,预计的频率配置高达300/600MHz),并希望能将R250用来对抗NVIDIA的新科旗舰GeForce4Ti,但或许是看到了3dfxRampage的前车之鉴吧?最后ATI选择放弃R250计划直接进攻下一世代的R300。

R200后来以Radeon8500的名义发售(频率设定为275/550MHz),之后来年二月又推出了降频版本称之为Radeon8500LE(降频至250/500MHz),而在R300系列推出之后Radeon8500LE又被改名为Radeon9100发售,这与NVIDIAGeForceTi应该是NVIDIA与ATI一直以来帮老GPU改名旧瓶装新酒重新上架恶习的开端。

ati radeon hd4200

至于RV250则是在2002年08月(在R300推出前一两个月时)针对中低阶市场推出的版本,砍掉了一组顶点渲染器与一半的像素对应单元、拿掉了TruForm硬件加速单元,并以Radeon9000(频率设定为200/500MHz)与Radeon9000Pro(频率设定为275/550MHz)的名义发售,作为Radeon9000系列的最入门产品。

ati radeon hd4200

最后要提的则是RV280,这款产品与RV250很接近,唯一的差别为RV280加入了对AGP8x的支持,除此之外几乎一模一样,定位与性能还是比R200低,但最后却用了Radeon9200(频率设定为250/400MHz)、Radeon9200SE(频率设定为200/333MHz,而且内存带宽砍半)的名义发售,这在当时应该是有史以来整个显示芯片发展史当中命名最乱的一次(ATI官方后来号称7000系列是只支持DirectX7.0API、8000系列是能支持DirectX8.1API、9000系列则是能够支持DirectX9.0API的意思,不过Radeon9200等基于R200系的产品显然是不能支持DirectX9.0的)。

ati radeon hd4200

基于R200芯片架构的最后一款产品则是2004年07月推出的Radeon9250,虽然型号看起来最大但实际上只是频率比较高的RV280罢了(设定为240/400MHz)。

NVIDIAGeForce4(NV25/NV17/NV18/NV28)

发布时间:2002年02月API支援:Direct3D8.1、OpenGL1.4(NV25/NV28)API支援:Direct3D7.0、OpenGL1.2(NV17/NV18)ShaderModel版本:VertexShader1.1,PixelShader1.4(NV25/NV28)像素渲染器(PS):4组/顶点渲染器(VS):2组/材质对应单元(TMUs):8组/着色输出单元(ROUs):4组(NV25/NV28)像素管线:2条/材质对应单元(TMUs):4组/着色输出单元(ROUs):2组(NV17/NV18)

ati radeon hd4200

要谈GeForce4之前我们得先对这代GPU的系列编成有基本的认识,GeForce4在个人计算机上分为MX与Ti两条产品线,虽然都叫做GeForce4,但实际上两者之间大不相同,如果你以为GeForce4MX与GeForce4Ti之间的关系和之前GeForce2GTS与GeForce2MX之间的关系很像的话,那你就上了NVIDIA的当了。

ati radeon hd4200

首先看到的是面向主流与高阶市场的GeForce4Ti,从上面这张架构图应该不难看出,相较于GeForce3来说基本上这代产品其实并没有太大的变动,某种程度上可以看做是GeForce3的补完版,像是把被ATI超车的DirectX8.1API支持补上去了之类的改良,除此之外主要的改进有三大部分。

ati radeon hd4200

第一部分是关于绘图管线配置,GeForce4Ti引入了第二代的nFiniteFX引擎,与GeForce3最主要的差别在于顶点渲染器从一组增加为两组(实际上这最早可以追溯到一款特化过的GeForce3芯片,NV2A上,这款芯片是被用于初代微软Xbox游戏机的绘图芯片,就具备了两组顶点渲染器),靠着更加精进的顶点渲染器,GeForce4Ti每秒能处理的顶点数量相较于前作而言有了大幅度的提升(不过其实我真心不太懂下面这段技术展示到底是想表达甚么XD)。

第二部分则是多屏幕的支持,NVIDIA在GeForce4这一世代当中引入了被称为nView的多屏幕技术(其实说穿了就是内建两组RAMDAC与TDMS输出)。

ati radeon hd4200

第三部分则是内存带宽利用方面再次获得了改进,在GeForce3当中透过LightspeedMemoryArchhitecture来解决GeForce2当中内存带宽严重不足的问题,而在GeForce4当中我们可以见到强化版的第二代LMA设计,透过算法方面的改良,可以更进一步提高内存带宽的利用效率,并加入了内存预充电技术,能有效降低读取内存数据时的延迟。

至于系列编成的部分,GeForce4Ti系可分为前期、后期两阶段,前期(2002年04月起)使用的是NV25核心,共有GeForce4Ti4400与GeForce4Ti4600两个成员,这两款的差异出现在运作频率上,前者预设频率为275/550MHz,后者则可以高达300/650MHz,而后来又加入了GeForce4Ti4200这款较为平价的版本,频率更进一步下降,若搭配128MB内存则内存带宽还需要进一步砍半(搭配64MB的款式则没砍)。

ati radeon hd4200

至于后期则是使用NV28核心(2003年01月起),仅有GeForce4Ti4800SE与GeForce4Ti4800两个版本,实际上前者就是原先的Ti4400加入AGP8x支持的版本,而后者则是以Ti4600为基础加入AGP8x支持的版本。

ati radeon hd4200

得益于频率的提升与第二组顶点渲染器的加入,GeForce4Ti毫无疑问是可以完封GeForce3系列的,也将才登上效能王者王位几个月的ATI再次踹下王座。

ati radeon hd4200

接下来,在开始谈GeForce4MX之前,先想想听到GeForce4MX这名词的时候,你会有甚么样的想象吧?

·简化版、入门版的GeForce4?

·当年难产而延期至今的GeForce3MX,所以是入门版的GeForce3?

·是GeForce3改名而来?

一般人的想法大概不出这三种吧?特别是对于知道GeForce2MX是甚么概念的人来说,多半应该会觉得GeForce4MX应该就是低阶版本的GeForce4Ti,不过实际情况并不是这样,简单来说,GeForce4MX其实只是升级版的GeForce2MX,而且从NVIDIA官方给的比较表你看不出这点的。

ati radeon hd4200

为什么我会这样说呢?NVIDIA官方在宣传GeForce4系列的时候通常都是同时宣传Ti系与MX系,而且在规格比较上只有提到GeForce4MX不支持nFiniteFXII引擎这件事情,单看上面这张图大概会这样觉得;「毕竟是比较低阶的版本嘛,没有最新的nFiniteFXII引擎也不奇怪,那总有上一代的nFiniteFX引擎吧?而且还多了VPE这项不知道是甚么的功能呢。」

ati radeon hd4200

不过实际上GeForce4MX也不包含nFiniteFX引擎,应该说其实从架构上就跟GeForce4Ti与GeForce3一点也不像了,从上面这张图可以很明显看到,DirectX8.0的最核心部分-ShaderModel整个不见了,反而看起来比较像是GeForce2的架构,是吧?

ati radeon hd4200

是时候揭晓答案了,其实GeForce4MX就是拿GeForce2核心修改而来的版本,把原本主掌内存带宽这最大瓶颈的内存控制器抽掉,换上GeForce4Ti当中使用的LMAII(其实有稍微降级,比GeForce3用的LMA还要略差),并把GeForce4Ti新引入的nView双屏幕技术与GeForce3开始支持多重取样反锯齿加进来就是GeForce4MX了,从开发代号上也可以证实这件事情:GeForce4MX使用的是NV17核心,数字编号比GeForce3的NV20还要来得更小,而且GeForce4MX的DirectXAPI支持能力都只到7.0版本。

至于系列编成的部分,GeForce4MX系列的成员比较多一些,同样可分为前后两期,前期使用的是NV17核心(自2002年02月起),可分为MX420(预设频率250/166MHz,只能搭配SDR内存)、MX440(预设频率275/400MHz)、MX440SE(预设频率250/332MHz)、MX460(预设频率300/550MHz)四种。

ati radeon hd4200

至于后期的发行情形则与GeForce4Ti的情况类似,改采新增了AGP8x支持能力的NV18核心,先后以MX440为基础推出了GeForce4MX440withAGP8x(内存频率从400MHz提高到500MHz)与GeForceMX4000(2013年12月,预设频率为250/332MHz,且内存带宽只有一半,代号NV18B)两款。

ati radeon hd4200

而在2004年NVIDIA还曾经另外以NV18为基础加上BR02桥接芯片后制作出称为NV19的组合,并以NVIDIAGeForcePCX4300的名义发售(上图,内存频率高达666MHz,但频道宽度与GeForceMX4000一样只有一半)。

尽管后来看起来GeForce4MX的做法好像很不可思议,但实际上在当时却没有造成市场反应不理想,反而因为价格与GeForce2MX相差无几,却又因为解决了内存带宽问题使得效能有明显的提升,合理的价格与充足的性能使得GeForce4MX后来其实很受欢迎,在很短的时间内就成功取代了原本GeForce2MX长年占据的低价与OEM市场。而且GeForce4有一点很有趣的现象,那就是只有GeForce4MX才有内建图像处理引擎(就是刚刚提到的VPE)与可变长度编码译码器,高阶的GeForce4Ti反而没有支持这些功能,于是如果只是想看影片的话,选用低阶的GeForce4MX表现反而会比较好。

随着近代GPU的可程序化管线设计与两大API支持等基本要素大致上在2001年确立了,因此从2002年开始,新款的GPU主要是以将现有架构改进、增加更多的弹性、拉高各项参数为主要目的。

2002:更加实用的ShaderModel2.0

在2001年微软发布了DirectX8系列API标准,我们说当时引入的ShaderModel1.0给GPU架构设计带来了翻天覆地的变化,并且大大提升了未来所有游戏设计师能够运用GPU创造新效果的可能,并且大幅提升了3D立体图形的实感,但ShaderModel1.0有下列这几个主要的缺点,导致它其实「很难用」、「很有限」,而且「还不够弹性」:

·ShaderModel1.x中,软件工程师只能使用低级语言(像是汇编语言)来控制GPU内的渲染器

·一次最多只能操纵4~6个相关材质

·一次只能下达4个材质指令(SM1.4可以下达两组由6个指令组成的材质指令),而且只能处理整数

·只有8组常数缓存器

·只能处理128个顶点处理指令

于是在2002年微软发布了新的DirectX9.0标准来解决前面这些问题。

ati radeon hd4200

DirectX9.0与ShaderModel2.0

在WindowsXP推出后一年多的2002年底微软正式对外发布了DirectX9.0更新(实际上GPU设计商在几个月前就拿到定稿版本的DirectX9.0API规格书了,因此是先有DirectX9.0GPU才有DirectX9.0支持更新可供使用),相较于过去的DirectX7、DirectX8都有架构上的变更来说,DirectX9的改进幅度其实没有那么大,最重要的一项就是对ShaderModel进行大幅改版,称为ShaderModel2.0。

ati radeon hd4200

基本上在进入DirectX9.0世代之后,GPU内的绘图管线并没有甚么改变,但从DirectX8开始引入的VertexShader与PixelShader几乎被重新设计了,改进了刚刚提及在DirectX8当中具有的绝大多数问题,像是像素渲染器只能处理32位或48位整数的问题,在PixelShader2.0当中一口气提升为支持最高128位的浮点运算能力,能够同时下达的贴图指令、色彩指令、顶点指令数量方面也都数倍的大幅提升,并且引入了动态/静态流程控制与巢状动态/静态流程控制指令。

ati radeon hd4200

除了在数字方面的大幅跃进之外,ShaderModel2.0带来的另一个重点则是High-LevelShaderLanguage(HLSL),中文翻译称之为「高阶渲染器语言」,如同过去笔者曾介绍过的,在DirectX8当中ShaderModel1.x支持的语言实际上很有限,实质上只是低阶汇编语言(尽管后来微软在一些文件当中把Direct3D8.x、ShaderModel1.x也追认为HLSL,但实际上从可以证实实际上并不是这样),因此在编写上有相当的困难度,特别是在要撰写复杂度较高的程序时,显得更加力不从心,在引入HLSL之后,开发者得以活用GPU实际能力的程度便瞬间提高了不少。

而最后要提的是,尽管DirectX9带来的改进并不如前作那么巨大,但DirectX9可以说是历代DirectX当中影响力最大、生存时代最长的版本(直到今天都还有很多游戏提供DirectX9模式),虽然这某种程度上和DirectX9是WindowsXP能支持的最后一个版本、DirectX10要等到2006年才生得出来、Vista失败导致DirectX10难以在短时间内普及、WindowsXP直到2013年市占率才开始明显下滑等因素有关,但最大的因素还是因为DirectX9的ShaderModel2.0比起前作来说大有长进且能合乎基本需要的缘故。

接下来我打算介绍的就是DirectX9世代的产品,首先要登场的是在可预见的未来内都会被ATI与NVIDIA两家公司永远铭记的RadeonR300与GeForceFX。

标签:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123@。cc举报,一经查实,本站将立刻删除。