GPU Pixel和Texel写入速度

zol*_*i2k 12 graphics gpu opengl-es performancecounter

许多嵌入式/移动GPU提供对性能寄存器的访问,称为Pixel Write SpeedTexel Write speed.你能解释一下如何从实际的GPU硬件角度解释和定义这些术语吗?

Ren*_*nov 11

我认为像素和纹素之间的区别对你来说非常清楚.无论如何,只是为了使这个答案更"普遍":

  • 像素是屏幕空间的基本单位.
  • 纹理元素或纹理元素(也是纹理像素)是纹理空间的基本单元.

纹理由纹素数组表示,就像图片由像素数组表示一样.在对3D表面进行纹理化(称为纹理贴图的过程)时,渲染器将纹理像素映射到输出图片中的适当像素.

在此输入图像描述

顺便说一句,更常见的是使用填充率而不是写入速度,您可以轻松找到所有必需的信息,因为这个术语很老并且被广泛使用.

回答你的问题

所有填充率数字(无论使用何种定义)均以Mpixels/sec或Mtexels/sec表示.

那么填充率背后的原始想法是写入帧缓冲区的完成像素数.这符合理论峰填充率的定义.因此,在过去的好日子里,用Mpixels表达这个数字是有意义的.

然而,第二代3D加速器增加了一项新功能.此功能允许您渲染到屏幕外表面,并将其用作下一帧中的纹理.因此写入缓冲区的值不再是屏幕像素,它们可能是纹理的纹素.这个过程允许几个很酷的特效,想象渲染一个房间,现在你把这个房间的图片存储为纹理.现在你没有显示房间的这张照片,但是你将图片用作镜子的纹理甚至是反射贴图.

使用MTexels的另一个原因是游戏开始使用多层多纹理效果,这意味着屏幕上的像素由各种子像素构成,最终被混合在一起形成最终像素.因此,根据这些子结果表达填充率更有意义,您可以将它们称为纹素.

更新

纹理填充率=(TMU的数量 - 纹理映射单元)x(核心时钟)

卡每秒可以渲染到屏幕的纹理像素数.

很明显,具有更多TMU的卡在处理纹理信息时会更快.


use*_*109 9

性能寄存器/计数器Pixel Write SpeedTexel Write speed维护有关处理/写入的像素和纹素的统计/计数操作.我将解释峰值(最大可能)填充率.

像素率

像素是光栅图像中的物理点,是显示设备屏幕的最小元素.

Pixel rate是GPU在一秒钟内可能写入本地内存的最大像素数,以每秒百万像素为单位.实际像素输出速率还取决于很多其他因素,最值得注意的是内存带宽 - 内存带宽越低,达到最大填充率的能力越低.

通过乘以ROPs (Raster Operations Pipelines - aka Render Output Units)核心时钟速度的数量来计算.

渲染输出单位:像素管道采用像素和纹素信息,并通过特定的矩阵和矢量运算将其处理为最终像素或深度值.在ROPs本地内存中执行相关的缓冲区之间的交易.

重要性:像素率越高,GPU的屏幕分辨率越高.

特克塞尔率

纹理元素是纹理空间的基本单位(3D对象表面的图块).

Texel rate是每秒可以处理的纹理贴图元素(纹素)的最大数量.它以一秒钟内的数百万像素进行测量

这是通过将总数乘以texture units芯片的核心速度来计算的.

纹理映射单元:需要对纹理进行寻址和过滤.这项工作由与像素和顶点着色器单元配合使用的TMU完成.TMU将纹理操作应用于像素是我们的工作.

重要性:较高的纹素速率,游戏呈现的速度更快,显示要求的游戏流畅.

示例:不是nVidia风扇,但这里是GTX 680的规格,(对于嵌入式GPU来说找不到多少)

Model   Geforce GTX 680
Memory  2048 MB
Core Speed  1006 MHz
Shader Speed    1006 MHz 
Memory Speed    1502 MHz (6008 MHz effective)
Unified Shaders 1536 
Texture Mapping Units   128 
Render Output Units 32 
Bandwidth   192256 MB/sec 
Texel Rate  128768 Mtexels/sec 
Pixel Rate  32192 Mpixels/sec
Run Code Online (Sandbox Code Playgroud)