ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Unity 图集底层揭秘:一张“拼图“如何拯救你的帧率

Unity 图集底层揭秘:一张“拼图“如何拯救你的帧率 引子:一个让 GPU "累到崩溃"的午后假设你在做一款 2D 卡牌游戏。界面上有 100 张卡牌,每张卡牌有独立的图片:card_001.png、card_002.png……你满心欢喜地把它们拖进场景,运行——帧率从 60 掉到了 20。手机开始发烫,风扇狂转(如果它有风扇的话)。你百思不得其解:“我就显示了几张图而已,怎么会这么卡?现代 GPU 一秒能处理上亿个三角形,我这几百个方块算什么?”打开 Profiler 一看,一个刺眼的数字跳了出来:Draw Calls / Batches: 100+100 多次 Draw Call。这就是元凶。而解决它的办法,说出来简单得像小孩子玩的游戏——把 100 张小图,拼成一张大图。这就是本文的主角:Sprite Atlas(图集)。它是怎么用一个"拼图游戏"把你的帧率从 20 拉回 60 的?让我们钻进 GPU 的底层一探究竟。第一章:先搞懂什么是 Draw Call——GPU 的"下单流程"要理解图集的价值,必须先理解那个反复出现的幽灵——Draw Call。一个生动的比喻:向厨房下单想象 CPU 是服务员
返回列表