TA工具箱首页 / TA 术语百科

填充率 Fill Rate

2026-08-27

什么是填充率

填充率(Fill Rate)是指图形处理器(GPU)每秒钟可以渲染到屏幕上的像素数量,通常以百万像素/秒(MP/s)或十亿像素/秒(GP/s)为单位。它是衡量GPU性能的重要指标,尤其在处理高分辨率渲染和复杂片段着色时。

填充率可以分为**像素填充率**和**纹理填充率**:

  • **像素填充率**:GPU每秒能够写入帧缓冲的像素数,取决于光栅化单元(ROP)的数量和频率。
  • **纹理填充率**:GPU每秒能够采样的纹理像素(texel)数,取决于纹理单元(TMU)的数量和频率。

填充率的重要性

填充率直接影响渲染性能,当场景需要处理大量像素(如高分辨率、多图层、复杂后处理)时,填充率可能成为瓶颈。如果GPU的填充率不足,帧率会下降,出现卡顿。

移动设备由于屏幕分辨率高但GPU填充率相对较低,对填充率特别敏感。

影响填充率的因素

  • **分辨率**:分辨率越高,需要渲染的像素越多,对填充率要求越高。
  • **Overdraw**:同一像素被多次绘制会增加填充率压力。
  • **片段着色器复杂度**:虽然复杂着色器主要消耗ALU,但每个像素执行多次纹理采样也会占用纹理填充率。
  • **混合操作**:Alpha混合需要读取帧缓冲并写入,消耗额外带宽。
  • **后处理**:全屏后处理效果(如模糊、泛光)需要多次处理全屏像素,大幅增加填充率需求。

填充率与Overdraw的关系

Overdraw是填充率消耗的主要来源之一。例如,一个像素被绘制3次,就相当于填充率需求增加了3倍。减少Overdraw可以有效降低填充率压力。

如何优化填充率

1. 降低渲染分辨率

使用动态分辨率或降低渲染目标分辨率,例如在移动设备上使用较低的内部分辨率再缩放。

2. 减少Overdraw

  • 优化渲染顺序,利用深度测试剔除被遮挡像素。
  • 减少透明物体层数。
  • 使用遮挡剔除。

3. 简化片段着色器

  • 减少纹理采样次数。
  • 使用简化光照模型。
  • 避免复杂数学函数。

4. 优化后处理

  • 合并后处理效果,减少全屏遍历次数。
  • 使用降分辨率进行后处理(如半分辨率模糊)。
  • 考虑使用Compute Shader异步处理。

5. 使用Mipmap

合理使用Mipmap可以减少纹理采样时的带宽消耗,但可能增加纹理填充率?实际上,Mipmap减少了纹理缓存未命中,提高纹理采样效率。

填充率的测量

GPU规格中通常提供理论填充率,但实际性能受多种因素影响。使用性能分析工具(如GPUView、Nsight)可以测量实际填充率占用。

总结

填充率是GPU渲染像素的能力,高分辨率、过度绘制和复杂后处理会快速消耗填充率。通过优化渲染管线、减少像素处理量,可以提升整体性能。

常见问题

填充率和帧率有什么关系?

填充率不足会导致GPU无法在帧时间内完成所有像素处理,从而降低帧率。提高填充率或减少像素处理需求可以提升帧率。

如何判断填充率是否为瓶颈?

使用GPU性能分析工具查看ROP利用率和像素处理时间。如果降低分辨率后性能显著提升,可能填充率受限。

移动设备为什么对填充率敏感?

移动设备屏幕分辨率高但GPU填充率较低,且带宽受限,高Overdraw和复杂后处理会迅速耗尽填充率,导致发热和降频。

纹理填充率和像素填充率有区别吗?

有。像素填充率是写入像素的能力,纹理填充率是采样纹理的能力。两者可能不同,复杂纹理采样可能使纹理填充率成为瓶颈。

后处理如何影响填充率?

每个后处理效果都需要遍历全屏像素,执行着色器并可能多次采样,多个后处理叠加会成倍增加填充率需求。