显卡SGL是什么技术啊 ?详细点 !谢谢!!
发布网友
发布时间:2022-05-18 19:17
我来回答
共5个回答
热心网友
时间:2023-10-25 19:42
前言
2000年终于到了,除了极少数的电脑出现千年虫问题以外,其它的都平安过渡。随即而来的还有微软的世纪大作--Windows 2000操作系统。它对个人电脑的配置提出了更高的要求。以往每一次微软操作系统的变革,都将带来一次个人电脑升级热潮,再加上去年经济危机时许多人都暂缓了PC的购买计划,因此今年的PC市场将出现极度热销的景象。
传统认为PC整体性能与CPU指标成直接正比关系,但到了2000年,人们的思维恐怕要转变一下了。
nVidia公司推出了世界上第一个GPU(图形处理器)以后,CPU把繁重的转换和光影计算交给了显示卡来完成,从而腾出更多的时间来完成其它的工作。因此CPU对于3D图形运算和游戏来说显得不再那么重要,当然,更快的CPU还是我们所推荐的。
2000年恐怕是3D图形界最热闹的一年。大家都赶在新世纪发布新一代的显示卡。为了争夺这越来越大的市场,老当益壮的S3、尊贵的Matorx、老牌劲旅Ati、游戏杀手3dfx、还有昔日的黑马王,现在已俨然一幅王者姿态的nVidia,都将拿出自己的杀手锏,新一代的显卡大战蓄势即发。
3D技术解疑
为了使大家能更清楚地知道显示卡的工作原理,因此在介绍图形芯片之前先简单介绍一下一些常用的3D图形技术术语,希望大家看完后对在3D显示芯片以及显示卡评测中经常提到的一些名词有一个充分的认识,从本质上区别显示芯片和基于它的显卡的优劣。
什么是图像?
许多人可能都无法很确切地回答这个问题。如果从人眼的角度去看的话,就是光照射到其它物体上,再反射到我们的眼里,经过视网膜成像,再通过连接到大脑的神经,把信息传到大脑,这就是我们看到的"像"。如果从显示器的角度来看,通过电子*在显示屏上扫描,结果就成"像"。那么这个像到底是由什么构成的呢?
我们知道,在视网膜内有成千上万神经元,每一个神经元就是一个"可视信号"的接收源。它们把各自接收到的"信号"汇总,就成为了一幅完整的图像。我们再来看看电脑用的扫描仪,它通过2^n次方个CCD元素感受反射来的光,可以说,它完全是模拟人眼的接收原理制作的。CCD元素越多,扫描出来的图像越清晰,细节越丰富。这又是为什么呢?从微观世界来看,任何物体都是由许许多多的原子组成的。如果我们假设这里每个原子是这个物体的一个面的话,那么由多少个原子组成的物体,就应该有多少个反光源。如果我们提供同样数量的"接收源"如人眼的视网膜和扫描仪的CCD感光单元,那么我们就能全部捕捉该物体的样子,不会遗失任何一个细节。但由于结构上的不同,往往"发射源"和"接收源"的数量不同,因此总会有细节上的丢失。
点、分辨率和像素Pixel
我们现在已经知道,图像是由许多细小的"点"构成的。从事物的角度来说,像的最基本单元是点,但在显示屏上,我们把成像的这些点叫"像素Pixel"。像素Pixel做为最基本的显示单位,其实我们早就开始接触了。还记得买显示器的时候,店主对你说,这台显示器的最高分辨率是1600×1200。这代表什么?
原来,1600×1200分别代表显示器的水平线和垂直线上的像素Pixel的数量。1600即表明该显示器每行水平线上最多能表现1600个像素Pixel。而垂直线上一共有1200个,那么总的来说,在分辨率为1600×1200的显示画面上,我们能够看到的像素共有1600×1200=1920 000个。然而,这台显示器我们也能用800×600的分辨率进行观看,那么意思是说在使用800×600的时候显示屏上的像素单元少了吗?800×600的时候一幅画面里会有800×600=480 000个像素。我们刚才不是说过显示器的最大分辨率时能显示1920 000个像素吗?少了的像素跑到那里去了?
原来,在同样的面积里,如果像素少了,就意味着成像的点少了,但是该幅图像仍然保持同样大的"占地面积",然而不同的是,它变得"粗糙"了(一些细节丢失了),为什么?就是因为表现这些细节的点没有了啊。也可以这样看,就是把点的数目减少了,然后在按一定的规律把点放大使图像大小不变,然而因为的的确确是把一些点给拿走了,因此那些点所表现的地方也跟着被去掉了,所以你就会觉得该图像少了些"东西"(这就是我们说的细节)。
在分辨率为1600×1200的时候,因为水平和垂直线上的像素都比800×600增加了一倍,在画面面积没有增大的情况下,因为点的数目多了,显示的"内容"也更加丰富了。因此,更高的图像分辨率虽然不能使我们获得更大的图像(因为显示器的可视面积不变),但却会带来更多的画面细节。
现在,我们已经知道什么是像素,像素就是显示屏上每幅画的最小构成单位。它其实是一个带有各种颜色的小点,当然了,如果你显示器上的图像是一幅黑白两色的位图,那么这些像素点也就只有黑白两种颜色了。同样的,如果你的画面是32位色的,那么像素也应该会是32位色。
多边型Polygons
每一个物体其实都是由各种形状的多边型组成。还记得小学时候的几何课吗?老师把一些点和线连接成一个封闭的框,这就是一个任意形状的多边形,它(多边形)就是由点和线组成的。最常见的多边形是三角形,它几乎是通用的。任何的多边型都能转换成三角型组合而成的形式,只不过是三角形数目不同罢了。众所周知,要组成三角形也非常的容易,只要寻找三个顶点,再把它们用线连起来就可以了,如果再往上想增加另一个三角形,只须在这个三角形的外部寻找一个你需要的顶点,然后再和已存在的三角形的任意两个顶点连接起来。4个点,5条线就可以构成2个三角形。因为它们之间共用了一条边。
为什么不用四边形呢?或其它的多边形呢?这是因为电脑必须用数据把这些点和线描绘出来。想一下,一个四边型如果想再增加多一个,那么必须增加两个顶点和三条边,因此需要的储存空间就更大,换句话来说,使用三角型作为多边形构成的基本单位是基于节约存储空间和操作方便的考虑。
我们看到的3D游戏里的3D模型,就是由许许多多的2D多边形构成的。采用的多边形数目越多,图像就越平滑。是否记得小学老师给你们做过一个这样的演示,在一个圆上取4个点,用直线把四个点连起来,得到的当然是一个正方形,但随着圆周上所取的点的数目的增加,原先的正方形就成了多边形,并越来越接近圆,假设点的数目足够多,那么连起来的线也越来越多,"圆"就越来越圆。3D模型成像原理也是这样的。如果拥有足够多数的多边型来够成一个3D模型,那么它就可以做得很真实,3D模型的边缘也会过渡得很平滑。但因为使用更多的多边形构图必将占用更多的存储空间和处理时间,因此我们又不能盲目地增加游戏中多边形的数目,没有一个人喜欢玩像放幻灯片似的3D游戏,即使画面效果非常棒。
现在的3D加速卡一个很重要的指标就是三角形生成速率,如上面的一张图,那个女主角就是由998个多边形构成。但在一个真实的游戏里多边形的数目要多得多,因为还必须添加上其它场景和角色,粗略估计现今比较好的3D游戏(这里指画面质量)一个场景大概有500-600万个多边形吧。TNT2 Ultra的三角型生成速率有800万个/秒,因此现在的游戏对它来说应该没有什么大的问题。随着越来越多更为强大的3D加速芯片的来临,将来的游戏画面一定会变得更真实,细腻和圆滑。
特塞尔Texels和纹理Textures
当程序员完成对3D模型各个多边形的构造后,他们就开始着手往多边形上贴纹理了。刚才我们也看到了,只完成多边型构造的3D模型很难看,如果游戏中的物体像刚才的那幅女Model那样不进行贴图处理,还有谁会来玩?假设在一个游戏里出现一棵树,我们就必须在象征这棵树的3D模型上贴上与树皮类似的纹理,只有这样这个3D模型才像棵树嘛(你有见过没有树皮的树吗)。通过往3D模型上贴上纹理,我们就能构造出一个真实的3D世界。而特塞尔是纹理(其实它也是一幅图像嘛)的最基本构成元素,它就是纹理(这幅图像)的像素单元。
像上面的一幅图,这种较大的材质位图如果用来贴在3D模型上,那么就被称之做纹理了。多边型贴上了上面这幅纹理以后,你说会不会像红泥地呢?
大家有没有想到,当纹理贴到多边型表面的时候,由于不是每个多边型的大小都一样,并且绝大多数的情况下它们的大小与纹理大小完全不同。因此,在两个多边型粘合的边缘部分,纹理由于不规范相交而造成错体,就是叠合不起来,图像会存在缺陷。
于是,各大显示芯片厂商提出了双线性、三线性和各向异性抗混叠功能,就是为了尽可能地掩饰纹理交叠错误这一破绽。
我们前面说过了,如果同一面积里的图像像素增多,那么图像就会更加清晰。那么如果纹理使用更多像素构成的图像,那么我们不就能获得更为真实和清晰的3D造型吗?事实上真的如此,可惜的是现在由于硬件方面的制约,我们只能在游戏中使用不高于256×256像素大小的纹理进行贴图。新一代的图形加速芯片,TNT2、Savage4和ATI Rage128,当然包括最新的显示芯片Gefor-ce256、Savage2000和Naplam等都支持2048×2048像素大小的大型纹理,现在等待的就是各大游戏厂商的支持了。首先支持512×512大小纹理贴图的是Quake3。我们发现使用了大纹理贴图的Quake3画面,特别是墙壁显得特别得真实。
游戏支持大型纹理必将成为未来的趋势。特别是最近我们看到的一些新兴的纹理压缩技术,通过类似于JPG的压缩算法,抽出相近的颜色,因此能大幅度减少纹理的容量,使采用更为大型的纹理而又不影响速度成为了可能。代表技术有S3的S3TC和3dfx的FXT1,它们两者都能提供6:1以上的纹理压缩能力。
三维像素(Voxels)
Voxels,其实就是一个立体的像素,它有一个额定的体积,因此,除了需要平面的X轴和Y轴的坐标表示以外,它还需要一个Z轴的坐标来确定它在三维空间中的位置。我们可以这样看,它就是一个边长为一个像素(Pixels)的正方体。通过把这样许许多多的三维像素叠合起来,也可以构成各种各样的3D模型。可我们平常用得更多的还是多边型拼凑方法,这又是为什么呢?
因为还要包含Z轴的数据,一个三维像素占用的内存空间明显要比像素(这里指平面的)多得多。并且,由于使用三角形拼凑方法,除了顶点外,面通过连接各个顶点就可以了。但如果使用三维像素,必须使用大量的语句来描述三维像素叠合的方法和内容。因此,使用三维像素来构成真实的3D模型必将占用大量的资源,除此之外,还会大幅度降低显示的速度,因为要处理的内容比采用多边形构成方式时多了成千乃至上万倍。
还有一个很重要的原因是,如果使用三维像素构成一条直线,那么当我们离得很近来观看这条线的时候,我们就会发现它是一点一点的,为什么?因为你看到的就是构成这条线段的各个三维像素啊。但如果使用顶点做图法,系统会自动把两个顶点用一条直线连接起来,无论离得多近来看,还都是直线一条。
因此,就目前来说,3D游戏的模型制作中三维像素Voxels还没有什么用武之地,我们普遍采用的还是三角型的构图方式。
色彩深度(Colors and Depths)
近来玩家们争论得最厉害的莫过于游戏中究竟要不要采用更高位数的颜色这一问题。其中之一就是Voodoo 3与TNT 2孰优孰劣的争论(前者支持16位色渲染,后者支持32位色渲染),那么是否就能立刻断定TNT2的画面质量会比Voodoo 3要好呢?为了回答这个问题,我们必须先了解什么是颜色深度。
上面的这幅图就是采用16位色进行渲染的,我们可以注意到,在光环处有一层层明显的红色向*过渡的色带。这是什么呢?
我们知道,16位色能表现的最大颜色数为216次方=65 536种,在上面这幅图中,因为在颜色过渡的地方使用的颜色超出了16位色所提供的范围,因此在颜色过渡的地方就出现了明显的色阶。为了避免这些情况的出现,人们提出了更高的色彩深度标准,24位色,24位色能提供224=16 700 000种颜色。可以说,人眼能看到的颜色种类也就是那么多了,所以有人把24位色称之为全彩色。更高的颜色深度能使图像色彩还原更为准确。因此,我们可以肯定的是,更高的色彩深度的确能提高图像质量。但问题是,24位色或更高的32位色有一个明显的缺点,它所占用的存储空间比16位色的要大--为了描述更多的色彩,必须使用更多位数的调色盘,占用的存储空间自然就增加了。因此,16位色也并不是一无事处,至少在现今显卡性能不高的情况下能大幅度提高渲染的速度。当需要的时候,你还可以进行适当的处理来获得更好的过渡效果,我们把这种处理称为抖动。
那么,这个16位、24位或更高的颜色深度是怎样生成的呢?当我们向一个像素填上色彩的时候,我们使用的是通过按一定比例混合红(R)、绿(G)、蓝(B)三种颜色(RGB三基色)来获得所需的色素。应该注意到,我们只能使用仅有的3种颜色来获得其它的色素,并且因为16位中的每一位都仅对应一种特定的颜色。当我们使用的是第16位颜色,也就是最后一位颜色的时候,我们发现并不能很清楚地把这种颜色划分成三种颜色混合的色素。16/3会出现小数位啊,因此,在实际中,色盘里是这样划分的。红色占了5位的空间,绿色占了6位的空间,而蓝色占了5位空间。因此,如果我们认真看看调色盘就能发现,绿色部分占的位置要稍大。
采用了32位色的渲染后,我们发现色阶现象完全消失了,色彩过渡得非常平滑,因此,我们可以确定,使用更高的颜色深度肯定能提升画面品质。但为什么在玩游戏时发现两者之间的差别没有那么大呢?这是因为现有的游戏在制作时多是用16位色的原图,因此你在玩(重放)的时候,无论是使用16位还是32位色的渲染方式,得到的效果都差不多,但某些游戏已经为了32位色做了充分的优化,如果你有机会玩玩Motorhead这个游戏,你就能很清楚的分辨出16位色和32位色的不同了。
阿尔法Alpha
32位色似乎让人有点难以理解。照理说,32位色表示的应该是2^32次方种颜色吧。但实际上,32位色却只和24位色一样拥有同等数量级的色素。什么,它只拥有2^24次方种不同的颜色?那么还有的8位颜色跑那里去了?
对于32位色来说,多出来的8位不是用来表示RGB颜色值,而是用来反映一个像素的alpha值,也可以称为alpha通道值。通过对像素alpha值的确定,我们能够表示一个像素的透明、半透明、不透明或者在它们之间的那种隐隐约约的效果。也可以这样说,alpha值是用来反映像素透明度的一个指标。使用alpha值能够展现一些特殊的画面效果,好像玻璃,水和爆炸效果。
如果一个像素被给定一个较低的alpha值,那么这个像素我们看起来就好像是透明的。反过来,如果给它一个相当高的alpha值,那么这个像素看上去就完全是不透明的了。在使用中间值alpha通道的时候,就可以制作出好像有色玻璃的那种效果,如果你有用photoshop的话,应该会经常使用到这种效果的。
上图是3D Mark99 Max Pro中的第二个游戏测试场景,看到图中绿色的那部分吗?这就是用中间值的alpha效果做的。看上去就好像被绿色光照一样。
alpha效果被广泛应用到光影效果十足的游戏兵人中,许多爆炸的光影效果就是这样实现的。但前提是,必须使用32位色渲染,否则惊人的alpha光影效果就不会出现。
抖动Dithering
抖动,是一种用来"欺骗"人眼的着色法。它通过随意地向色彩过渡地区添加模仿周围像素颜色的像素,从而掩饰低位数图像因色彩深度不足造成的过渡色区一条条的色阶现象。
为了讲得更清楚点,我们假设你现在有两个调开的水彩颜色,放在色盘上。两种颜色中间空出些位置。现在,你要把两种颜色混合起来,为了使两种颜色不要区分得那么明显,你大力抖动色盘,这下好了,A颜色向B颜色靠了过来,B颜色也有点向A颜色端混过来,结果就在它们中间的地区混合起来形成一些由原来两种颜色混合起来的过渡色,看起来有一种很平滑的过渡过程,没有了那种突变的感觉。
纹理过滤
在实际应用中,对纹理进行处理是很吃力的。虽然对固定大小的纹理,比如256*256纹理来说处理起来很简单,然而要把它贴到各种各样的多边型上,却不是那么容易的事。有没有想过,当经过计算后,texel(特塞尔)要被放置到一个不能定位的地方,又或者是计算出来的X或Y轴的值不是整数?你不能把texel放置在计算好的地方,因为你只能绘制完整的点(这是最小的绘制单位了)。
Point Sampling(点取样)
这时你不得不把texel绘制到离计算值最近的完整点上,这就叫做点取样。由于使用了点取样,因此特塞尔只能取以计算值为中心最近的一些像素。然后,这个带有相同特性的纹理就会映射到像素上。不管怎么样,这样就导致一些超出范围的像素明显凸了出来,画面就出现了一个个"小格子"组成的情况。如果没有采用一些特别的过滤方法,一条界乎于两个不同纹理之间的斜线边缘就会出现锯齿的现象,就是因为在边缘上的像素没有被正确放置在原来计算好的位置上。
当像素稍微超出自己原定位置的时候,虽然它们仍然采用正确的颜色值,但我们假设它超出的位置刚好是一片深深的蓝色,而这一点超出的像素刚好是白色,那么它就很容易被注意到了。另外,点取样还有一个缺点就是像素会出现"微微发光"现象。下面是一幅3D Mark99 Max的截图,我们可以留意到图片远处的像素点有些发光的现象,这是由于该像素的值是仅从一个特塞尔上取值造成的。这种现象在运动的3D环境中更是明显。
很明显,在实际使用中单纯使用点取样不是办法。想一想在DF的大混战中,明明我是躲在一栋建筑物后的,本应该看不到我,但我脚的一个像素却超出了范围,露了出来,从而把我隐藏的位置给暴露了(这样打法不赔机时才怪)。所以,我们需要一些特别的方法来处理这些错误。
Bilinear Filtering(双线性过滤)
双线性过滤要比点取样做的多一点。它以需要贴纹理的那个像素点为中心,而在相对应纹理中该点附近2*2范围内(即4个)特塞尔的颜色值求一个平均值,然后使用这个"平均的"颜色值做为需要贴图像素的色值。通过使用双线性过滤,两个不同特塞尔之间的过渡就可以更圆滑,不会出现在点取样中出现的"格子"现象,但它同时带来一个新的问题,那就是经过双线性处理后的图像会显得有些模糊。如果你使用过photoshop就应该知道了。其中的blur滤镜效果就和双线性过滤差不多。
双线性过滤是最基本的3D技术,通常3D显示卡都会提供这种过滤效果,并且都能在一个时钟周期内实现。下图就是双线性过滤和点取样的对比图
从图中可以看到,图像经过双线性过滤后,点取样中"格子"的现象都消失了,整幅图中像素过渡都很平滑,没有发现明显的越界点。然而,双线性过滤也带来了一个新的问题,那就是"深度变化"错误。设想一下,按照正常的透视,当图像离我们越远,那么图像看起来就越小。而贴到该图像(像素)中的纹理也越小。造成纹理被压缩了。结果造成双线性过滤中,离视点较远位置出现了贴图错误。很可惜,对于双线性过滤来说,这是固有的错误,不可能避免和解决。
MIP mapping(组合式处理映射)
那么我们如何来修正深度变化错误呢?答案是引入组合式处理映射技术。组合式处理映射其实是用一组同一物品不同大小的纹理来提供给不同深度(大小)像素贴图取值时使用的。当视点比较近的时候,像素点填充的颜色采用大块纹理中的采样值。当视点越来越远的时候,就选用越来越小的纹理来进行取值。这样我们就能获得没有因视点距离变化而变形的图像。
Level of Detail(LOD,深度等级)
深度等级的计算是用来确定哪种大小的Mipmaps(组合式位图-纹理)要被贴到对象上。深度等级能够控制一个像素由几个特塞尔映射而成的。还记得我们前面说的吗?特塞尔是组成纹理的最基本单位,当一个纹理被用来做贴图使用的时候,它甚至可以缩小为一个点贴在像素中,换而言知,一个像素能够是几个甚至无限多个特塞尔映射而成的。如果特塞尔映射到像素上的比例为1:1。那么LOD的值就为0。表示没有等级,这时就会采用最大的纹理来进行贴图处理。而当4个特塞尔映射到一个像素上的时候,比率为4:1。LOD此时的值为1。系统就会采用小一号的纹理来进行贴图。当比例不断上升,用来贴图的纹理就越小,从而保证远近贴图的变化成比例。消除了由双线性过滤造成的深度变化这一错误。
可见,双线性过滤,Mip mapping和LOD是一起使用的。
Trilinear Filtering (三线性过滤)
Mip mapping虽然解决了双线性过滤造成的深度变化错误,但它又带来了一个新的错误,那就是"组合交叠"现象。组合交叠现象发生在当相临的两个地方使用了LOD级别不同的同一块纹理来进行贴图。两块不同大小的同一块纹理接合的地方显得非常不平滑以至于人们很容易就能注意到这一区别。组合交叠错误经常出现在地板或墙壁上,因为它们通常是采用许多组大小不同的同一纹理贴图而成的,看起来就会出现有的地方很清晰,但有的地方很模糊的现象。
三线性过滤就是用来减轻或消除不同组合等级纹理过渡时出现的组合交叠现象。它必须结合双线性过滤和组合式处理映射一并使用。三线性过滤通过使用双线性过滤从两个最为相近的LOD等级纹理中取样来获得新的像素值,从而使两个不同深度等级的纹理过渡能够更为平滑。也因为如此,三线性过滤必须使用两次的双线性过滤,也就是必须计算2×4=8个像素的值。对于许多3D加速开来说,这会需要它们两个时钟周期的计算时间。也就是说,对于某些3D加速卡来说,使用三线性过滤几乎会使性能下降一半!
各向异性过滤Anisotropic Filtering
各向异性过滤是近来才提出的新型过滤方法。各向异性过滤的实现方法有点"*",它需要对映射点周围方形8个特塞尔甚至更多的特塞尔进行取样,然后获得平均值映射到像素点上。对于许多3D加速卡来说,采用8个以上特塞尔取样的各向异性过滤简直是要了它们的命。因为它们根本不能提供足够的像素填充率供给各向异性过滤使用。对于3D应用,特别是3D游戏来说,各向异性过滤是很重要的一个功能。这是因为,游戏中的物体有大部分的时间不是与我们平行的。
各向异性过滤到底是做什么的呢?如果有一个多边型,它的一个面刚好与我们的视线垂直,那么根本就不用各向异性过滤。当视点渐远的时候,Mip mapping就会使用更小的纹理来进行贴图。但在大多数情况下,我们的视线却与多边型有一定的角度。这些有角度的多边型就会出现型变,从而引起画面失真,各向异性过滤就提供了解决方案。
每一轮的3D显卡大战的征兆都大同小异:在这段时期内各家显卡芯片研发大厂通常都保持神秘姿态,半遮半掩地发布一些连名字也没有确定的图形芯片规格。很感谢这次的游戏开发者年会,我们得以掌握这些次世代显示芯片的详细规格:表1
规格终究是规格,在实际发布的时候,通常会使我们大失所望,不是规格缩了水,就是性能没有达到期望的等级。我们上表中的G450现在还不能确定它的真实运行频率,而是根据Matorx早前公布的G450将会使用G400 MAX核心,再加上使用.18微米工艺生产而成,因此估算其将会运行在200MHz。而S3&Diamond的GX4-C我们是按它没有在Savage2000(Viper II)上增加渲染通道估算出来的性能值。另外我们还预计,在这些新一代的显示卡中,一种新式的显存即将被广泛采用,例如DDR FCDRAM,但到目前为止它究竟是什么东西我们还没弄清楚,但我相信在将来的显示卡中它将会被大量采用。
那么现在让我们来详细看一下这些次世代显示卡带来了什么新的东西,3D性能和表现力将会被提升到一个什么样的新台阶。
Matrox公司
Matrox公司一直以来以生产专业的平面图形工作站显示卡而闻名于世界。他们生产的显示卡通常拥有极高的画面质量和2D显示速度,在3D游戏大行其道的今天,Matorx也发布了3D性能不错的G400系列予以对抗。
根据一个可靠的消息,在2000年第一季度后,Matrox将会停产G400系列,包括G400 MAX。而将会用G450(芯片开发代号为CondorI)的芯片来取代现在G400 MAX的市场。而到了第四个季度,Matrox将会发布G800(芯片开发代号为Condor II)的新型图形芯片,然而让我们感到惊奇的是一直到今年第三季度为止,Matrox仍将生产G200系列用来满足低端市场的需要(原来一块显示卡的生存周期可以这么久)。
G450技术规格:
-G400 MAX核心、整合的RGB、NTSC/PAL,还有DVI的视频输出功能
-64位DDR SDRAM
-支持DDR FCDRAM
-采用320引脚的PBGA封装
-采用0.18微米6层金属工艺生产
-2000年3月开始大规模量产
-16MB帧缓存版本采用2×(2×32位 DDR显存)
-32MB帧缓存版本采用4×(4×16位 DDR显存)或者是4×(2×32位 DDR显存)
其中16MB版本将会使用166MHz的显存工作频率,如果使用DDR FCDRAM,那么有可能会运行在200MHz。并且所有的显存将会使用双重的64位总线连接到主芯片上。
G800技术规格:
-引脚兼容G450芯片
-双倍于G450的像素填充率
-支持250MHz的DDR FCDRAM
-支持硬件T&L(转换和光影)加速
-支持DirectX8.0的遮掩效果和完整的DirectX7.0效果
-新开发的DirectX7.0和8.0的ICD驱动
-量产于2000年9月
Matrox将会发布继承了双片G800的G800 Ultra版本显示卡,用来提供极高的转换和光影生成能力和像素填充率。
热心网友
时间:2023-10-25 19:43
前言
2000年终于到了,除了极少数的电脑出现千年虫问题以外,其它的都平安过渡。随即而来的还有微软的世纪大作--Windows 2000操作系统。它对个人电脑的配置提出了更高的要求。以往每一次微软操作系统的变革,都将带来一次个人电脑升级热潮,再加上去年经济危机时许多人都暂缓了PC的购买计划,因此今年的PC市场将出现极度热销的景象。
传统认为PC整体性能与CPU指标成直接正比关系,但到了2000年,人们的思维恐怕要转变一下了。
nVidia公司推出了世界上第一个GPU(图形处理器)以后,CPU把繁重的转换和光影计算交给了显示卡来完成,从而腾出更多的时间来完成其它的工作。因此CPU对于3D图形运算和游戏来说显得不再那么重要,当然,更快的CPU还是我们所推荐的。
2000年恐怕是3D图形界最热闹的一年。大家都赶在新世纪发布新一代的显示卡。为了争夺这越来越大的市场,老当益壮的S3、尊贵的Matorx、老牌劲旅Ati、游戏杀手3dfx、还有昔日的黑马王,现在已俨然一幅王者姿态的nVidia,都将拿出自己的杀手锏,新一代的显卡大战蓄势即发。
3D技术解疑
为了使大家能更清楚地知道显示卡的工作原理,因此在介绍图形芯片之前先简单介绍一下一些常用的3D图形技术术语,希望大家看完后对在3D显示芯片以及显示卡评测中经常提到的一些名词有一个充分的认识,从本质上区别显示芯片和基于它的显卡的优劣。
什么是图像?
许多人可能都无法很确切地回答这个问题。如果从人眼的角度去看的话,就是光照射到其它物体上,再反射到我们的眼里,经过视网膜成像,再通过连接到大脑的神经,把信息传到大脑,这就是我们看到的"像"。如果从显示器的角度来看,通过电子*在显示屏上扫描,结果就成"像"。那么这个像到底是由什么构成的呢?
我们知道,在视网膜内有成千上万神经元,每一个神经元就是一个"可视信号"的接收源。它们把各自接收到的"信号"汇总,就成为了一幅完整的图像。我们再来看看电脑用的扫描仪,它通过2^n次方个CCD元素感受反射来的光,可以说,它完全是模拟人眼的接收原理制作的。CCD元素越多,扫描出来的图像越清晰,细节越丰富。这又是为什么呢?从微观世界来看,任何物体都是由许许多多的原子组成的。如果我们假设这里每个原子是这个物体的一个面的话,那么由多少个原子组成的物体,就应该有多少个反光源。如果我们提供同样数量的"接收源"如人眼的视网膜和扫描仪的CCD感光单元,那么我们就能全部捕捉该物体的样子,不会遗失任何一个细节。但由于结构上的不同,往往"发射源"和"接收源"的数量不同,因此总会有细节上的丢失。
点、分辨率和像素Pixel
我们现在已经知道,图像是由许多细小的"点"构成的。从事物的角度来说,像的最基本单元是点,但在显示屏上,我们把成像的这些点叫"像素Pixel"。像素Pixel做为最基本的显示单位,其实我们早就开始接触了。还记得买显示器的时候,店主对你说,这台显示器的最高分辨率是1600×1200。这代表什么?
原来,1600×1200分别代表显示器的水平线和垂直线上的像素Pixel的数量。1600即表明该显示器每行水平线上最多能表现1600个像素Pixel。而垂直线上一共有1200个,那么总的来说,在分辨率为1600×1200的显示画面上,我们能够看到的像素共有1600×1200=1920 000个。然而,这台显示器我们也能用800×600的分辨率进行观看,那么意思是说在使用800×600的时候显示屏上的像素单元少了吗?800×600的时候一幅画面里会有800×600=480 000个像素。我们刚才不是说过显示器的最大分辨率时能显示1920 000个像素吗?少了的像素跑到那里去了?
原来,在同样的面积里,如果像素少了,就意味着成像的点少了,但是该幅图像仍然保持同样大的"占地面积",然而不同的是,它变得"粗糙"了(一些细节丢失了),为什么?就是因为表现这些细节的点没有了啊。也可以这样看,就是把点的数目减少了,然后在按一定的规律把点放大使图像大小不变,然而因为的的确确是把一些点给拿走了,因此那些点所表现的地方也跟着被去掉了,所以你就会觉得该图像少了些"东西"(这就是我们说的细节)。
在分辨率为1600×1200的时候,因为水平和垂直线上的像素都比800×600增加了一倍,在画面面积没有增大的情况下,因为点的数目多了,显示的"内容"也更加丰富了。因此,更高的图像分辨率虽然不能使我们获得更大的图像(因为显示器的可视面积不变),但却会带来更多的画面细节。
现在,我们已经知道什么是像素,像素就是显示屏上每幅画的最小构成单位。它其实是一个带有各种颜色的小点,当然了,如果你显示器上的图像是一幅黑白两色的位图,那么这些像素点也就只有黑白两种颜色了。同样的,如果你的画面是32位色的,那么像素也应该会是32位色。
多边型Polygons
每一个物体其实都是由各种形状的多边型组成。还记得小学时候的几何课吗?老师把一些点和线连接成一个封闭的框,这就是一个任意形状的多边形,它(多边形)就是由点和线组成的。最常见的多边形是三角形,它几乎是通用的。任何的多边型都能转换成三角型组合而成的形式,只不过是三角形数目不同罢了。众所周知,要组成三角形也非常的容易,只要寻找三个顶点,再把它们用线连起来就可以了,如果再往上想增加另一个三角形,只须在这个三角形的外部寻找一个你需要的顶点,然后再和已存在的三角形的任意两个顶点连接起来。4个点,5条线就可以构成2个三角形。因为它们之间共用了一条边。
为什么不用四边形呢?或其它的多边形呢?这是因为电脑必须用数据把这些点和线描绘出来。想一下,一个四边型如果想再增加多一个,那么必须增加两个顶点和三条边,因此需要的储存空间就更大,换句话来说,使用三角型作为多边形构成的基本单位是基于节约存储空间和操作方便的考虑。
我们看到的3D游戏里的3D模型,就是由许许多多的2D多边形构成的。采用的多边形数目越多,图像就越平滑。是否记得小学老师给你们做过一个这样的演示,在一个圆上取4个点,用直线把四个点连起来,得到的当然是一个正方形,但随着圆周上所取的点的数目的增加,原先的正方形就成了多边形,并越来越接近圆,假设点的数目足够多,那么连起来的线也越来越多,"圆"就越来越圆。3D模型成像原理也是这样的。如果拥有足够多数的多边型来够成一个3D模型,那么它就可以做得很真实,3D模型的边缘也会过渡得很平滑。但因为使用更多的多边形构图必将占用更多的存储空间和处理时间,因此我们又不能盲目地增加游戏中多边形的数目,没有一个人喜欢玩像放幻灯片似的3D游戏,即使画面效果非常棒。
现在的3D加速卡一个很重要的指标就是三角形生成速率,如上面的一张图,那个女主角就是由998个多边形构成。但在一个真实的游戏里多边形的数目要多得多,因为还必须添加上其它场景和角色,粗略估计现今比较好的3D游戏(这里指画面质量)一个场景大概有500-600万个多边形吧。TNT2 Ultra的三角型生成速率有800万个/秒,因此现在的游戏对它来说应该没有什么大的问题。随着越来越多更为强大的3D加速芯片的来临,将来的游戏画面一定会变得更真实,细腻和圆滑。
特塞尔Texels和纹理Textures
当程序员完成对3D模型各个多边形的构造后,他们就开始着手往多边形上贴纹理了。刚才我们也看到了,只完成多边型构造的3D模型很难看,如果游戏中的物体像刚才的那幅女Model那样不进行贴图处理,还有谁会来玩?假设在一个游戏里出现一棵树,我们就必须在象征这棵树的3D模型上贴上与树皮类似的纹理,只有这样这个3D模型才像棵树嘛(你有见过没有树皮的树吗)。通过往3D模型上贴上纹理,我们就能构造出一个真实的3D世界。而特塞尔是纹理(其实它也是一幅图像嘛)的最基本构成元素,它就是纹理(这幅图像)的像素单元。
像上面的一幅图,这种较大的材质位图如果用来贴在3D模型上,那么就被称之做纹理了。多边型贴上了上面这幅纹理以后,你说会不会像红泥地呢?
大家有没有想到,当纹理贴到多边型表面的时候,由于不是每个多边型的大小都一样,并且绝大多数的情况下它们的大小与纹理大小完全不同。因此,在两个多边型粘合的边缘部分,纹理由于不规范相交而造成错体,就是叠合不起来,图像会存在缺陷。
于是,各大显示芯片厂商提出了双线性、三线性和各向异性抗混叠功能,就是为了尽可能地掩饰纹理交叠错误这一破绽。
我们前面说过了,如果同一面积里的图像像素增多,那么图像就会更加清晰。那么如果纹理使用更多像素构成的图像,那么我们不就能获得更为真实和清晰的3D造型吗?事实上真的如此,可惜的是现在由于硬件方面的制约,我们只能在游戏中使用不高于256×256像素大小的纹理进行贴图。新一代的图形加速芯片,TNT2、Savage4和ATI Rage128,当然包括最新的显示芯片Gefor-ce256、Savage2000和Naplam等都支持2048×2048像素大小的大型纹理,现在等待的就是各大游戏厂商的支持了。首先支持512×512大小纹理贴图的是Quake3。我们发现使用了大纹理贴图的Quake3画面,特别是墙壁显得特别得真实。
游戏支持大型纹理必将成为未来的趋势。特别是最近我们看到的一些新兴的纹理压缩技术,通过类似于JPG的压缩算法,抽出相近的颜色,因此能大幅度减少纹理的容量,使采用更为大型的纹理而又不影响速度成为了可能。代表技术有S3的S3TC和3dfx的FXT1,它们两者都能提供6:1以上的纹理压缩能力。
三维像素(Voxels)
Voxels,其实就是一个立体的像素,它有一个额定的体积,因此,除了需要平面的X轴和Y轴的坐标表示以外,它还需要一个Z轴的坐标来确定它在三维空间中的位置。我们可以这样看,它就是一个边长为一个像素(Pixels)的正方体。通过把这样许许多多的三维像素叠合起来,也可以构成各种各样的3D模型。可我们平常用得更多的还是多边型拼凑方法,这又是为什么呢?
因为还要包含Z轴的数据,一个三维像素占用的内存空间明显要比像素(这里指平面的)多得多。并且,由于使用三角形拼凑方法,除了顶点外,面通过连接各个顶点就可以了。但如果使用三维像素,必须使用大量的语句来描述三维像素叠合的方法和内容。因此,使用三维像素来构成真实的3D模型必将占用大量的资源,除此之外,还会大幅度降低显示的速度,因为要处理的内容比采用多边形构成方式时多了成千乃至上万倍。
还有一个很重要的原因是,如果使用三维像素构成一条直线,那么当我们离得很近来观看这条线的时候,我们就会发现它是一点一点的,为什么?因为你看到的就是构成这条线段的各个三维像素啊。但如果使用顶点做图法,系统会自动把两个顶点用一条直线连接起来,无论离得多近来看,还都是直线一条。
因此,就目前来说,3D游戏的模型制作中三维像素Voxels还没有什么用武之地,我们普遍采用的还是三角型的构图方式。
色彩深度(Colors and Depths)
近来玩家们争论得最厉害的莫过于游戏中究竟要不要采用更高位数的颜色这一问题。其中之一就是Voodoo 3与TNT 2孰优孰劣的争论(前者支持16位色渲染,后者支持32位色渲染),那么是否就能立刻断定TNT2的画面质量会比Voodoo 3要好呢?为了回答这个问题,我们必须先了解什么是颜色深度。
上面的这幅图就是采用16位色进行渲染的,我们可以注意到,在光环处有一层层明显的红色向*过渡的色带。这是什么呢?
我们知道,16位色能表现的最大颜色数为216次方=65 536种,在上面这幅图中,因为在颜色过渡的地方使用的颜色超出了16位色所提供的范围,因此在颜色过渡的地方就出现了明显的色阶。为了避免这些情况的出现,人们提出了更高的色彩深度标准,24位色,24位色能提供224=16 700 000种颜色。可以说,人眼能看到的颜色种类也就是那么多了,所以有人把24位色称之为全彩色。更高的颜色深度能使图像色彩还原更为准确。因此,我们可以肯定的是,更高的色彩深度的确能提高图像质量。但问题是,24位色或更高的32位色有一个明显的缺点,它所占用的存储空间比16位色的要大--为了描述更多的色彩,必须使用更多位数的调色盘,占用的存储空间自然就增加了。因此,16位色也并不是一无事处,至少在现今显卡性能不高的情况下能大幅度提高渲染的速度。当需要的时候,你还可以进行适当的处理来获得更好的过渡效果,我们把这种处理称为抖动。
那么,这个16位、24位或更高的颜色深度是怎样生成的呢?当我们向一个像素填上色彩的时候,我们使用的是通过按一定比例混合红(R)、绿(G)、蓝(B)三种颜色(RGB三基色)来获得所需的色素。应该注意到,我们只能使用仅有的3种颜色来获得其它的色素,并且因为16位中的每一位都仅对应一种特定的颜色。当我们使用的是第16位颜色,也就是最后一位颜色的时候,我们发现并不能很清楚地把这种颜色划分成三种颜色混合的色素。16/3会出现小数位啊,因此,在实际中,色盘里是这样划分的。红色占了5位的空间,绿色占了6位的空间,而蓝色占了5位空间。因此,如果我们认真看看调色盘就能发现,绿色部分占的位置要稍大。
采用了32位色的渲染后,我们发现色阶现象完全消失了,色彩过渡得非常平滑,因此,我们可以确定,使用更高的颜色深度肯定能提升画面品质。但为什么在玩游戏时发现两者之间的差别没有那么大呢?这是因为现有的游戏在制作时多是用16位色的原图,因此你在玩(重放)的时候,无论是使用16位还是32位色的渲染方式,得到的效果都差不多,但某些游戏已经为了32位色做了充分的优化,如果你有机会玩玩Motorhead这个游戏,你就能很清楚的分辨出16位色和32位色的不同了。
阿尔法Alpha
32位色似乎让人有点难以理解。照理说,32位色表示的应该是2^32次方种颜色吧。但实际上,32位色却只和24位色一样拥有同等数量级的色素。什么,它只拥有2^24次方种不同的颜色?那么还有的8位颜色跑那里去了?
对于32位色来说,多出来的8位不是用来表示RGB颜色值,而是用来反映一个像素的alpha值,也可以称为alpha通道值。通过对像素alpha值的确定,我们能够表示一个像素的透明、半透明、不透明或者在它们之间的那种隐隐约约的效果。也可以这样说,alpha值是用来反映像素透明度的一个指标。使用alpha值能够展现一些特殊的画面效果,好像玻璃,水和爆炸效果。
如果一个像素被给定一个较低的alpha值,那么这个像素我们看起来就好像是透明的。反过来,如果给它一个相当高的alpha值,那么这个像素看上去就完全是不透明的了。在使用中间值alpha通道的时候,就可以制作出好像有色玻璃的那种效果,如果你有用photoshop的话,应该会经常使用到这种效果的。
上图是3D Mark99 Max Pro中的第二个游戏测试场景,看到图中绿色的那部分吗?这就是用中间值的alpha效果做的。看上去就好像被绿色光照一样。
alpha效果被广泛应用到光影效果十足的游戏兵人中,许多爆炸的光影效果就是这样实现的。但前提是,必须使用32位色渲染,否则惊人的alpha光影效果就不会出现。
抖动Dithering
抖动,是一种用来"欺骗"人眼的着色法。它通过随意地向色彩过渡地区添加模仿周围像素颜色的像素,从而掩饰低位数图像因色彩深度不足造成的过渡色区一条条的色阶现象。
为了讲得更清楚点,我们假设你现在有两个调开的水彩颜色,放在色盘上。两种颜色中间空出些位置。现在,你要把两种颜色混合起来,为了使两种颜色不要区分得那么明显,你大力抖动色盘,这下好了,A颜色向B颜色靠了过来,B颜色也有点向A颜色端混过来,结果就在它们中间的地区混合起来形成一些由原来两种颜色混合起来的过渡色,看起来有一种很平滑的过渡过程,没有了那种突变的感觉。
纹理过滤
在实际应用中,对纹理进行处理是很吃力的。虽然对固定大小的纹理,比如256*256纹理来说处理起来很简单,然而要把它贴到各种各样的多边型上,却不是那么容易的事。有没有想过,当经过计算后,texel(特塞尔)要被放置到一个不能定位的地方,又或者是计算出来的X或Y轴的值不是整数?你不能把texel放置在计算好的地方,因为你只能绘制完整的点(这是最小的绘制单位了)。
Point Sampling(点取样)
这时你不得不把texel绘制到离计算值最近的完整点上,这就叫做点取样。由于使用了点取样,因此特塞尔只能取以计算值为中心最近的一些像素。然后,这个带有相同特性的纹理就会映射到像素上。不管怎么样,这样就导致一些超出范围的像素明显凸了出来,画面就出现了一个个"小格子"组成的情况。如果没有采用一些特别的过滤方法,一条界乎于两个不同纹理之间的斜线边缘就会出现锯齿的现象,就是因为在边缘上的像素没有被正确放置在原来计算好的位置上。
当像素稍微超出自己原定位置的时候,虽然它们仍然采用正确的颜色值,但我们假设它超出的位置刚好是一片深深的蓝色,而这一点超出的像素刚好是白色,那么它就很容易被注意到了。另外,点取样还有一个缺点就是像素会出现"微微发光"现象。下面是一幅3D Mark99 Max的截图,我们可以留意到图片远处的像素点有些发光的现象,这是由于该像素的值是仅从一个特塞尔上取值造成的。这种现象在运动的3D环境中更是明显。
很明显,在实际使用中单纯使用点取样不是办法。想一想在DF的大混战中,明明我是躲在一栋建筑物后的,本应该看不到我,但我脚的一个像素却超出了范围,露了出来,从而把我隐藏的位置给暴露了(这样打法不赔机时才怪)。所以,我们需要一些特别的方法来处理这些错误。
Bilinear Filtering(双线性过滤)
双线性过滤要比点取样做的多一点。它以需要贴纹理的那个像素点为中心,而在相对应纹理中该点附近2*2范围内(即4个)特塞尔的颜色值求一个平均值,然后使用这个"平均的"颜色值做为需要贴图像素的色值。通过使用双线性过滤,两个不同特塞尔之间的过渡就可以更圆滑,不会出现在点取样中出现的"格子"现象,但它同时带来一个新的问题,那就是经过双线性处理后的图像会显得有些模糊。如果你使用过photoshop就应该知道了。其中的blur滤镜效果就和双线性过滤差不多。
双线性过滤是最基本的3D技术,通常3D显示卡都会提供这种过滤效果,并且都能在一个时钟周期内实现。下图就是双线性过滤和点取样的对比图
从图中可以看到,图像经过双线性过滤后,点取样中"格子"的现象都消失了,整幅图中像素过渡都很平滑,没有发现明显的越界点。然而,双线性过滤也带来了一个新的问题,那就是"深度变化"错误。设想一下,按照正常的透视,当图像离我们越远,那么图像看起来就越小。而贴到该图像(像素)中的纹理也越小。造成纹理被压缩了。结果造成双线性过滤中,离视点较远位置出现了贴图错误。很可惜,对于双线性过滤来说,这是固有的错误,不可能避免和解决。
MIP mapping(组合式处理映射)
那么我们如何来修正深度变化错误呢?答案是引入组合式处理映射技术。组合式处理映射其实是用一组同一物品不同大小的纹理来提供给不同深度(大小)像素贴图取值时使用的。当视点比较近的时候,像素点填充的颜色采用大块纹理中的采样值。当视点越来越远的时候,就选用越来越小的纹理来进行取值。这样我们就能获得没有因视点距离变化而变形的图像。
Level of Detail(LOD,深度等级)
深度等级的计算是用来确定哪种大小的Mipmaps(组合式位图-纹理)要被贴到对象上。深度等级能够控制一个像素由几个特塞尔映射而成的。还记得我们前面说的吗?特塞尔是组成纹理的最基本单位,当一个纹理被用来做贴图使用的时候,它甚至可以缩小为一个点贴在像素中,换而言知,一个像素能够是几个甚至无限多个特塞尔映射而成的。如果特塞尔映射到像素上的比例为1:1。那么LOD的值就为0。表示没有等级,这时就会采用最大的纹理来进行贴图处理。而当4个特塞尔映射到一个像素上的时候,比率为4:1。LOD此时的值为1。系统就会采用小一号的纹理来进行贴图。当比例不断上升,用来贴图的纹理就越小,从而保证远近贴图的变化成比例。消除了由双线性过滤造成的深度变化这一错误。
可见,双线性过滤,Mip mapping和LOD是一起使用的。
Trilinear Filtering (三线性过滤)
Mip mapping虽然解决了双线性过滤造成的深度变化错误,但它又带来了一个新的错误,那就是"组合交叠"现象。组合交叠现象发生在当相临的两个地方使用了LOD级别不同的同一块纹理来进行贴图。两块不同大小的同一块纹理接合的地方显得非常不平滑以至于人们很容易就能注意到这一区别。组合交叠错误经常出现在地板或墙壁上,因为它们通常是采用许多组大小不同的同一纹理贴图而成的,看起来就会出现有的地方很清晰,但有的地方很模糊的现象。
三线性过滤就是用来减轻或消除不同组合等级纹理过渡时出现的组合交叠现象。它必须结合双线性过滤和组合式处理映射一并使用。三线性过滤通过使用双线性过滤从两个最为相近的LOD等级纹理中取样来获得新的像素值,从而使两个不同深度等级的纹理过渡能够更为平滑。也因为如此,三线性过滤必须使用两次的双线性过滤,也就是必须计算2×4=8个像素的值。对于许多3D加速开来说,这会需要它们两个时钟周期的计算时间。也就是说,对于某些3D加速卡来说,使用三线性过滤几乎会使性能下降一半!
各向异性过滤Anisotropic Filtering
各向异性过滤是近来才提出的新型过滤方法。各向异性过滤的实现方法有点"*",它需要对映射点周围方形8个特塞尔甚至更多的特塞尔进行取样,然后获得平均值映射到像素点上。对于许多3D加速卡来说,采用8个以上特塞尔取样的各向异性过滤简直是要了它们的命。因为它们根本不能提供足够的像素填充率供给各向异性过滤使用。对于3D应用,特别是3D游戏来说,各向异性过滤是很重要的一个功能。这是因为,游戏中的物体有大部分的时间不是与我们平行的。
各向异性过滤到底是做什么的呢?如果有一个多边型,它的一个面刚好与我们的视线垂直,那么根本就不用各向异性过滤。当视点渐远的时候,Mip mapping就会使用更小的纹理来进行贴图。但在大多数情况下,我们的视线却与多边型有一定的角度。这些有角度的多边型就会出现型变,从而引起画面失真,各向异性过滤就提供了解决方案。
每一轮的3D显卡大战的征兆都大同小异:在这段时期内各家显卡芯片研发大厂通常都保持神秘姿态,半遮半掩地发布一些连名字也没有确定的图形芯片规格。很感谢这次的游戏开发者年会,我们得以掌握这些次世代显示芯片的详细规格:表1
规格终究是规格,在实际发布的时候,通常会使我们大失所望,不是规格缩了水,就是性能没有达到期望的等级。我们上表中的G450现在还不能确定它的真实运行频率,而是根据Matorx早前公布的G450将会使用G400 MAX核心,再加上使用.18微米工艺生产而成,因此估算其将会运行在200MHz。而S3&Diamond的GX4-C我们是按它没有在Savage2000(Viper II)上增加渲染通道估算出来的性能值。另外我们还预计,在这些新一代的显示卡中,一种新式的显存即将被广泛采用,例如DDR FCDRAM,但到目前为止它究竟是什么东西我们还没弄清楚,但我相信在将来的显示卡中它将会被大量采用。
那么现在让我们来详细看一下这些次世代显示卡带来了什么新的东西,3D性能和表现力将会被提升到一个什么样的新台阶。
Matrox公司
Matrox公司一直以来以生产专业的平面图形工作站显示卡而闻名于世界。他们生产的显示卡通常拥有极高的画面质量和2D显示速度,在3D游戏大行其道的今天,Matorx也发布了3D性能不错的G400系列予以对抗。
根据一个可靠的消息,在2000年第一季度后,Matrox将会停产G400系列,包括G400 MAX。而将会用G450(芯片开发代号为CondorI)的芯片来取代现在G400 MAX的市场。而到了第四个季度,Matrox将会发布G800(芯片开发代号为Condor II)的新型图形芯片,然而让我们感到惊奇的是一直到今年第三季度为止,Matrox仍将生产G200系列用来满足低端市场的需要(原来一块显示卡的生存周期可以这么久)。
G450技术规格:
-G400 MAX核心、整合的RGB、NTSC/PAL,还有DVI的视频输出功能
-64位DDR SDRAM
-支持DDR FCDRAM
-采用320引脚的PBGA封装
-采用0.18微米6层金属工艺生产
-2000年3月开始大规模量产
-16MB帧缓存版本采用2×(2×32位 DDR显存)
-32MB帧缓存版本采用4×(4×16位 DDR显存)或者是4×(2×32位 DDR显存)
其中16MB版本将会使用166MHz的显存工作频率,如果使用DDR FCDRAM,那么有可能会运行在200MHz。并且所有的显存将会使用双重的64位总线连接到主芯片上。
G800技术规格:
-引脚兼容G450芯片
-双倍于G450的像素填充率
-支持250MHz的DDR FCDRAM
-支持硬件T&L(转换和光影)加速
-支持DirectX8.0的遮掩效果和完整的DirectX7.0效果
-新开发的DirectX7.0和8.0的ICD驱动
-量产于2000年9月
Matrox将会发布继承了双片G800的G800 Ultra版本显示卡,用来提供极高的转换和光影生成能力和像素填充率
热心网友
时间:2023-10-25 19:43
一种比较老的显示接口程序,和D3D、OpenGL一样是一种通用标准。
想具体了解的话,可以参看这里
http://www.cmlab.csie.ntu.e.tw/~perng/projects/sgl/index.html
是繁体的。
热心网友
时间:2023-10-25 19:44
nVidia的一种新技术!
可以把两块显卡连到一起!!
热心网友
时间:2023-10-25 19:44
主流3D游戏主要使用SGL编写