TBR架构下RenderPass切换的代价

发布时间:2026/7/28 2:18:25

TBR架构下RenderPass切换的代价 从一个比喻开始想象你是一个画家。你面前有一张巨大的画布——2米×1米。但你的工作台很小,只能放下一张20厘米×20厘米的小画板。你的画法是这样的:把大画布分成100个小格子。每个格子20厘米×20厘米。每次从仓库里搬一个格子的内容到小画板上,在小画板上精雕细琢,画完之后把小画板的内容搬回大画布对应的格子里。然后搬下一个格子。小画板就在你手边,画起来飞快。仓库在隔壁房间,每次搬运要走几步路。小画板 = 片上内存(On-Chip Memory)。大画布 = 主内存(System Memory)里的帧缓冲。搬运 = 内存带宽消耗。这就是TBR(Tile-Based Rendering)的工作方式。现在,问题来了。你画完了整幅画的底色。100个格子都画好了,搬回了大画布。然后你要在底色上面加一层光影效果。你需要重新把100个格子一个一个搬到小画板上,画上光影,再搬回去。又搬了100次。然后你要加一层雾气效果。又搬100次。然后你要加一层色彩调整。又搬100次。每加一层效果,就要把整幅画搬进搬出一次。每次搬运都要走几步路。100个格子搬一轮,你走了几百步。四层效果,你走了上千步。你大部分时间不是在画画,而是在搬东西。

相关新闻