【转】Pixel-Fillrate

摘要:
[像素填充率]“填充率”是以每秒填充的像素为单位测量的,“三角形(多边形)生成速度”是指每秒生成数。当前3D图形卡的性能主要取决于两个指标。这两个指标的值越大,显卡的3D图像处理能力越强,显卡的档次也越高。填充率的故事指的是3D加速器卡。最常用的词是填充率。当主要制造商介绍和推广其产品时,填充率始终是一个重要指标。甚至是一场宣传战

Pixel-Fillrate

  “填充率“以每秒钟填充的像素点为单位,“三角形(多边形)生成速度“则表示每秒钟三角形(多边形)生成个数。现在的3D显卡的性能也主要看着两项指标,这两项指标的数值越大,显卡三维图像的处理能力就越强,显卡的档次也就越高。

  

填充率的故事

  谈到3D加速卡,最常用的一个词就是填充率。各大厂商在介绍和推广自己的产品时,填充率总是作为一个重要指标而大肆宣扬。甚至一场宣传战的争夺焦点也是填充率。那么,填充率到底意味着什么?为什么有些公司用texels(纹理填充率)而另一些用pixels(像素填充率)来定义呢?

  首先让我们来看看厂商们对填充率相关的声明:

  “ATi的下一代Rage 128 GL图形芯片将为高端PC市场提供最好的性能和功能,Rage 128 GL具有超标量渲染引擎和单通道多纹理技术,将是第一个突破1 G texel/s大关的3D芯片。”

  -引自ATI的多年前的一次产品宣传

  “nVIDIA Geforce 2,历史上第一款填充率破G的图形芯片!(1.0 Gigapixels)”

  nVIDIA当年的的新闻声明:

  【转】Pixel-Fillrate第1张

[理论峰值填充率]

  大多数公司所谓的填充率实际指的是理论峰值填充率,那么那些填充率的数值是怎么得来的呢?要获得一块显卡的填充率的前提条件是必须知道3D芯片的时钟。将芯片时钟、像素渲染管线的数目相乘,即可得到芯片的填充率数值。下面的几个例子有助于理解:

  3dfx Banshee处理器通常在100MHz下运行。它只有一条像素渲染管线,(这样每个周期它只能计算出一个双线性过滤像素并在屏幕上显示出来)。根据填充率的定义,Banshee的理论峰值填充率就是100MHzX1=100M pixels/s。

  nVIDIA RIVA TNT有两条像素渲染管线,芯片时钟为90MHz,很容易算出TNT的理论填充率为180M pixels/s。

  【转】Pixel-Fillrate第2张

  

  nVIDIA Geforce FX 5800 Ultra处理器通常在500MHz下运行。它有八条像素渲染管线,每条管线一个纹理单元。根据填充率的定义,Geforce FX 5800 Ultra的理论峰值填充率就是

  500MHzX8X1=4000M pixels/s。

  ATi Radeon 9700 Pro处理器通常在325MHz下运行。它有八条像素渲染管线,每条管线一个纹理单元。根据填充率的定义,Radeon 9700 Pro的理论峰值填充率就是325MHzX8X1=2600M pixels/s。

  原来如此,我明白了!先别太得意,事情可不是想的那么简单。上面的填充率都是在极端的条件下得到的。某些图形处理器面临限制,它们的像素渲染管线只能为同一个屏幕像素工作,如果像素为单纹理的话,那么第二个像素渲染管线就只好闲置了,这时填充率实际上很低。这里我要告诉大家的主要问题是:在不同的条件下,填充率可能有所不同。理论峰值填充率是3D芯片时钟与像素渲染管线数目的乘积。但这种填充率是在特定的工作环境下获得的,要求像素渲染管线可以同时工作。

  让我们来体验一个复杂些的情况:试着计算一下nVIDIA Geforce Ti 4600的填充率,Ti 4600有四条像素渲染管线,每条管线两个纹理单元,芯片时钟为300MHz, Geforce Ti 4600的理论峰值填充率怎么计算?300MHzX4X2=2400M pixels/s?嗯,算来不错,可实际上呢?300MHzX4=1200M pixels/s,这才是正确的计算!那么300MHzX4X2=2400M是什么呢?答案就是:2400M texels /s。这里,texels /s这个英文就是我们下面要讲的——纹理填充率。

  

 [纹理填充率与像素填充率]

  为什么有的厂商广告词中填充率的数字怎么比理论填充率还要高?难道是厂商骗人吗?这里你所看到的填充率很可能就是纹理填充率而不是理论填充率!

  纹理填充率是指一秒钟内纹理渲染的数目,计算公式同理论填充率相似:3D芯片时钟x像素渲染管线数目x单个纹理使用的texel数目。

  哇,太难受了!不要紧,我们还是举例子:

  ATi Rage 128GL原打算设计为125MHz,有两条像素渲染管线。每条管线可以为一个双线性过滤像素上色,而双线性过滤需要4个texles。因此Rage 128GL纹理填充率为:125(时钟)X 2(像素渲染管线条数)x 4(texels)= 1000 Mtexels/s或1G texels/s。

  让我们回首上文那段新闻稿:

  “ATi Rage 128 GL图形芯片将为PC市场提供最好的性能和功能,Rage 128 GL具有超标量渲染引擎和单通道多纹理技术,将是第一个突破1 G texel/s大关的3D芯片。”

  许多人都迷惑不解,因为他们认为上面所说的1G texels是理论峰值填充率,我个人认为不应该使用纹理填充率,那样做的唯一目的就是欺骗和愚弄人们。所以当你看到一个近似天文数字或比同一代其他显卡高的多的填充率,你应当意识到那很可能是纹理填充率而不是理论峰值填充率。

  这里,我们要注意的是,纹理填充率从来都是以Mtexels表示,而不用Mpixels!

参考:http://blog.csdn.net/pizi0475/article/details/7565067

免责声明:文章转载自《【转】Pixel-Fillrate》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Go Mysql Driver 集成 Seata-Golang 解决分布式事务问题Groovy脚本-通用SQL开关下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

三种蓝牙架构实现方案(蓝牙协议栈方案)

   蓝牙架构实现方案有哪几种?我们一般把整个蓝牙实现方案叫做蓝牙协议栈 ,蓝牙协议是通信协议的一种,一般而言,我们把实现某个协议的代码叫做协议栈。而在蓝牙协议中,host是什么 ?controller是什么?HCI又是什么?   由于不同的应用场景有不同的需求,因此不同的应用场景对蓝牙实现方案 也不一样,从而催生不同的蓝牙架构实现方案,或者说蓝牙协议栈方...

win10下检查nvidia显卡支持的cuda版本

1、首先将【C:Program FilesNVIDIA CorporationNVSMI】添加至系统环境变量【path】中; 2、在powershell中使用命令【nvidia-smi】,即可看到结果 nvidia与cuda需要满足关系:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/ind...

基于功能树分析(FTA)功能级FIT硬件测试方法

共创力研发咨询/杨学明 1 基于功能树分析(FTA)的功能级FIT测试方法原理介绍 功能FIT分析方法的提出,是基于对FMEA分析方法的如下疑问: a) 利用FMEA分析做FIT测试时,智能控制整个芯片失效,或者控制芯片部分功能的随机失效,但是无法模拟器件单个功能或者是特定组合功能的失效。而对于产品系统而言,对于整体失效有检测和保护,不能等同于部分失效也有...

记 Flash air转成iPhone ipa应用程序

虽然苹果强力反对Adobe公司,但是上有政策,下有对策。这么多Flasher也要吃饭的。苹果为了自己的饭碗,有点儿狠啊。下面是Flash游戏转成iPhone游戏的HelloWorld教程。希望对大家有帮助。网站如下:http://help.adobe.com/zh_CN/as3/iphone/WS789ea67d3e73a8b2-240138de1243a...

【转】使用外部看门狗请三思!

在产品规划中,如使用芯片内部集成的DCDC模块给系统的各个子模块(如内存、电子硬盘、硬件看门狗等)供电的情况下,需要多加留心DCDC输出电压属性是否与所使用看门狗芯片型号匹配这个问题,否则设计出的产品可能就会出现一定概率的不稳定性。 下图为某款处理器内部集成的DCDC模块输出的3.3V波形图,该3.3V生成的过程中有两段台阶,该台阶电平的最小值为2.44V...

NOR型flash与NAND型flash的区别

1) 闪存芯片读写的基本单位不同  应用程序对NOR芯片操作以“字”为基本单位。为了方便对大容量NOR闪存的管理,通常将NOR闪存分成大小为128KB或者64KB的逻辑块,有时候块内还分成扇区。读写时需要同时指定逻辑块号和块内偏移。应用程序对NAND芯片操作是以“块”为基本单位。NAND闪存的块比较小,一般是8KB,然后每块又分成页,页的大小一般是512字...