TBDR (Tile-Based Deferred Rendering)

Tile-based rendering architecture (有时缩写为 TBDR - Tile-Based Deferred Rendering) 是一种特殊的 GPU 渲染架构,与传统的 Immediate Mode Rendering (IMR) 不同。它的核心特点是:

工作原理

  • 将屏幕空间分割成多个小块 (tiles)
  • 对每个 tile 内的几何体进行排序和组织
  • 每次只处理一个 tile 的渲染
  • 使用片上内存 (on-chip memory) 缓存 tile 数据

主要优势

  • 更高的内存带宽效率
  • 更低的功耗
  • 更好的隐面剔除效率
  • 适合移动设备的特点

典型硬件

  • ARM Mali GPU
  • PowerVR GPU
  • Apple 的移动 GPU
  • 高通 Adreno GPU

这种架构特别适合移动设备,因为它能够优化内存访问和功耗,这也是为什么几乎所有移动 GPU 都采用这种架构。

IMR (Immediate Mode Rendering)

IMR (Immediate Mode Rendering) 是较为传统的 GPU 渲染架构,主要用于桌面 GPU(如 NVIDIA、AMD 的独立显卡)。其工作方式是:

基本流程

  • 直接处理所有几何体
  • 按提交顺序立即执行渲染命令
  • 整个帧缓冲都可以被随机访问
  • 所有片元都会被处理,即使后面被覆盖

特点

  • 渲染管线更直观简单
  • 对内存带宽要求较高
  • 容易产生过度绘制 (overdraw)
  • 功耗相对较高

与 TBDR 的主要区别

  • 不分块处理
  • 没有预排序优化
  • 更依赖大容量显存
  • 更适合复杂的延迟渲染管线

典型应用

  • 桌面 GPU
  • 游戏主机
  • 需要复杂图形效果的场合

这就是为什么在移动设备上,由于功耗和内存带宽的限制,很少使用 IMR 架构。