ParticleSystem的小优化
最近游戏场景希望加入一些ParticleSystem来丰富场景,这样肯定会带来一定的性能开销。一般来说ParticleSystem的优化就是尽量减少粒子数,尽量不使用粒子碰撞等。而今天要说的是,多个ParticleSystem之间的Draw Call问题。
例子:
首先场景中添加3个ParticleSystem如下
运行效果
这里展示了3个ParticleSystem叠加在一起的效果。这种需求会经常碰到。
起初采用的方案:给每个ParticleSystem添加了不同的材质,每个材质对应相应的图片。如图:
统计一下Draw Call
优化方案:
减少Draw Call, 第一个想到的就是合并到一张大图。
可以使用Texturepacker。打包结果如下:
因为我的Texturepacker的mac版是免费的所以打包出来有水印。。请忽略
然后把3个ParticleSystem使用同一材质,对应纹理改成打包后的图片
重点来了:
ParticleSystem中勾选Texture Sheet Animation->Mode->Sprites,选择对应的Sprite
OK! 运行看一下Draw Call
可以看到Call减少2.
https://blog.csdn.net/qq_14914623
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)