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 架构。