Web-Dev-For-Beginners 打字游戏教程:基于 addEventListener 的浏览器事件驱动编程完整实践
2026/9/7 4:29:34
假设你在做一款 2D 游戏,屏幕上有 100 个小图标。如果每个图标都用独立纹理(以下为帮助理解的数量级示意值,并非实测数据):
瓶颈往往不在「绘制本身」,而在「提交与状态切换」。GPU 切换纹理、shader、混合模式等渲染状态时,CPU 需要为每个 Draw Call 做驱动级提交,并等待 GPU 完成上一次绘制。这笔开销就是「Draw Call 的隐形税」。
图集(Atlas)就是解决这个问题:
需要强调:图集省掉的是「提交与状态切换」这笔 CPU 开销,而不是让 GPU 变快——真正的像素绘