许多嵌入式/移动GPU提供对性能寄存器的访问,称为像素写入速度和 Texel写入速度。你能解释一下如何从实际的GPU硬件角度来解释和定义这些术语吗?
答案 0 :(得分:11)
我认为像素和纹素的区别对你来说非常清楚。无论如何,只是为了使这个答案更“普遍”:
纹理由纹素数组表示,就像图片一样 由像素数组表示。纹理化3D表面时(a 称为纹理映射的过程)渲染器将纹素映射到 输出图片中的适当像素。
顺便说一句,使用填充率而不是写入速度更常见,您可以轻松找到所有必需的信息,因为这个术语很老并且被广泛使用。
回答您的问题
所有填充率数字(无论使用何种定义)均以表示形式表示 Mpixels / sec或Mtexels / sec。
填充率背后的原始想法是完成的数量 写入帧缓冲区的像素。这符合定义 理论峰值填充率。所以在过去的好日子里,它是有意义的 用Mpixels表示这个数字。
然而,第二代3D加速器是一项新功能 加入。此功能允许您渲染到屏幕外表面 并将其用作下一帧中的纹理。所以写的价值观 它们可能不再是屏幕像素上的缓冲区 是纹理的纹理。这个过程允许几个很酷的特殊 效果,想象渲染一个房间,现在你存储这张照片了 房间作为纹理。现在你没有显示房间的这张照片,但是你 将图片用作镜子的纹理甚至是反射贴图。
使用MTexels的另一个原因是游戏开始使用 几层多纹理效果,这意味着一个屏幕上 像素由各种子像素构成,最终被混合 一起形成最终的像素。所以表达更有意义 根据这些子结果的填充率,您可以参考 他们作为纹素。
<强>更新强>
纹理填充率=(TMU的纹理 - 纹理映射单元)x(核心时钟)
卡片可以呈现的纹理像素数量 屏幕每秒。
很明显,具有更多TMU的卡在处理纹理信息时会更快。
答案 1 :(得分:7)
性能寄存器/计数器Pixel Write Speed
和Texel Write speed
维护有关处理/写入的像素和纹素的统计/计数操作。我将解释峰值(最大可能)填充率。
图片元素是光栅图像中的物理点,最小 显示设备屏幕的元素。
Pixel rate
是GPU在一秒内可能写入本地内存的最大像素数,以每秒百万像素为单位。实际的像素输出速率还取决于其他一些因素,最值得注意的是内存带宽 - 内存带宽越低,达到最大填充率的能力就越低。
通过将ROPs (Raster Operations Pipelines - aka Render Output Units)
的数量乘以核心时钟速度来计算。
Render Output Units :像素管道获取像素和纹素信息,并通过特定的矩阵和矢量运算将其处理为最终像素或深度值。 ROPs
执行本地内存中相关缓冲区之间的事务。
重要性:像素率越高,GPU的屏幕分辨率越高。
纹理元素是纹理空间的基本单位 3D物体表面)。
Texel rate
是每秒可以处理的纹理贴图元素(纹素)的最大数量。它以一秒钟内的数百万个纹素进行测量
这是通过将texture units
的总数乘以芯片的核心速度来计算的。
Texture Mapping 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