正文内容 评论(0)
[纹理填充率与像素填充率]
为什么有的厂商广告词中填充率的数字怎么比理论填充率还要高?难道是厂商骗人吗?这里你所看到的填充率很可能就是纹理填充率而不是理论填充率!
纹理填充率是指一秒钟内纹理渲染的数目,计算公式同理论填充率相似: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!
Pixels Vs Texels
细心的读者会发现,以上我们所引用的填充率数字都是以Mpixels/sec或Mtexels/sec的形式来表示。/sec常常都会被省略,但你要知道显卡指标中的时间单位都是秒。pixels是传统的填充率单位,如今很多显卡公司开始习惯用texels来代替pixels。填充率最初定义为处理完的像素写到帧缓存的数目,其实就是指理论峰值填充率,过去都是用pixels表示。
这几年3D显卡增加了不少新功能。它们允许渲染看不见的屏幕部分(也称为Overdraw),并在下一帧中把这些看不见的像素作为下一帧的纹理,因此写到帧缓存的就不一定都是显示在屏幕上的像素,而是渲染成纹理的像素,这些像素就称为texels。这种处理方法可以获得几个蛮酷的特效,设想渲染一个房间,你可以把房间作为纹理来储存,这样你就不用显示房间的图片而是把图片作为纹理来随意粘帖,镜面反射效果就是这么来的,当然实际过程很复杂,但基本原理就是上面所说的做法。
另一个使用Mtexels的原因是游戏开始使用多层多纹理效果,也就是说屏幕上的一个像素有几个子像素混合组成,显然这种情况用Texels表示填充率比pixels更为准确。
本文收录在
#快讯
- 热门文章
- 换一波
- 好物推荐
- 换一波
- 关注我们
-
微博:快科技官方
快科技官方微博 -
今日头条:快科技
带来硬件软件、手机数码最快资讯! -
抖音:kkjcn
科技快讯、手机开箱、产品体验、应用推荐...