引子:小明的"单通道我懂了,可几百盏灯它也扛不住啊"小明学会了单通道前向渲染,兴奋地做了个赛博朋克风格的夜景城市。他知道要"控制灯光数量",于是小心翼翼地把灯控制在几盏、十几盏,帧率稳稳的。可赛博朋克的灵魂,就是**“霓虹灯的海洋”**啊!他心一横,把满城的霓虹招牌、地面反光、飞行器灯带、无数窗户的灯光……全都点亮——几百盏灯,同时闪烁!结果可想而知——即便用了单通道,帧率还是"哗啦"一下崩了。小明泄气了:"单通道不是很厉害吗?一遍就能算完多盏灯,怎么几百盏它也扛不住?难道’灯光的海洋’这种效果,就是移动端和普通设备的’禁区’,永远做不出来?可我明明在很多游戏里,见过’满屏几百上千个光源’的震撼画面,它们又快又美,凭什么?!难道……除了’一遍算完所有灯’的思路,还存在另一种’完全不同的照明方法’,能扛得住成百上千盏灯?"小明触碰到的,正是单通道前向渲染的性能天花板。而突破这道天花板的,是一种思路截然不同的照明方案——延迟渲染(Deferred Rendering)。今天,我们就来揭秘这套能"扛住几百盏灯"的降维打击方案。一、先复盘:为什么单通道,也扛不住几百盏灯?上一篇我们盛赞单通道"一遍算完所有灯"。可它为什么在几百盏灯面前,还是崩了?我们得先看清它的