小游戏的Spine数量过多开销大

1)小游戏的Spine数量过多开销大,怎么办
2)关于在AssetBundle中同时看到SpriteAtlas图集纹理和小图是否合理


这是第469篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

From 问答社区

Q1:我们小游戏上Spine耗时有点高,平均每帧耗时8.04ms,该怎么优化?

A:从函数调用次数来看,每帧有200多次调用,这个数量级下单个Spine的开销其实已经相对较低了。其中还看到SkeletonAnimation.FixedUpdate会有3~4ms的开销,理论上进入FixedUpdate后会直接Return,但由于调用数量太高(物理调用次数最大17,导致SkeletonAnimation.FixedUpdate的调用次数达到3000+),还是把这里的开销堆上去了。可以考虑禁用Skeleton Animation组件,专门写一个Manager主动触发Spine的Update和LateUpdate,应该能减少大量Spine对象导致跨语言调用开销。

Q2:是不是要重写一个Skeleton Animation组件呢?

A:在Manager里面注册Skeleton Animation到List里面,统一把SkeletonAnimation.enabled=false就好,然后用Manager统一调用Update和LateUpdate,不用重写Skeleton Animation。

Q3:是在Manager里面的Update直接getComponent到Skeleton Animation点出Update执行吗?

A:最好一开始就注册到某个List里面,动态维护这个List,在Update里面遍历这个数组,每个成员都执行Update。

欢迎大家转至社区交流:
https://answer.uwa4d.com/question/69c9ec21abed2e338a7dac6d


From 问答社区

Q:有个打AssetBundle的情况想咨询下, 我们把一个Unity SpriteAtlas图集打成一个包,这个包里理论上应该只有合并后的图集一个资源, 现在用AssetStudio解包看除了图集还有单个散图,是正常的吗,会不会导致运行时同时加载出来图集和小图而冗余?

A:下图是只打了一个SpriteAtlas图集的AssetBundle在AssetStudio中看到的情况。AssetBundle打包了sactx的Texture2D大图的同时,也打包了很多Sprite;只要看到小图的Type不是Texture2D,就是正常的。

Assets:

  • Assets/CommonAssets/AssetBundle Test/Texture_common/SpriteAtlas/TestAtlas.spriteatlasv2

Dependencies: \[\]

运行时还是仅加载一张大图,然后找到其中小图所在的UV位置和长宽,就渲染出来了。

欢迎大家转至社区交流:
https://answer.uwa4d.com/question/69c9e6feabed2e338a7dac6c

无论是社区里开发者们的互助讨论,还是AI基于知识沉淀的快速反馈,核心都是为了让每一个技术难题都有解、每一次踩坑都有回响。本期分享分别来自UWA AI问答和UWA问答社区,希望这些从真实开发场景中提炼的经验,能直接帮你解决当下的技术卡点,也让你在遇到同类问题时,能更高效地找到破局方向。

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com

相关推荐
zzz_23682 天前
TencentDB-Agent-Memory 深度解析:让多个 Agent 共享项目经验的记忆中枢
java·开发语言·jvm·人工智能·agent·memory·tencent db
UWA4 天前
隐藏视频变“常驻刺客”,VideoPlayer与“N/A”纹理该怎么查
人工智能·性能优化·音视频·memory·cpu·游戏开发
来日方长。。。。long6 天前
橙皮书共读|Hermes Agent(二)深度拆解五大核心支柱:自进化智能体的运行内核
memory·自我进化·harmes
molihuan12 天前
最新 spine 4.3 flutter 适配鸿蒙
flutter·动画·harmonyos·鸿蒙·spine
knqiufan19 天前
AI 情报局:用 PowerMem + SeekDB 做一个多 Agent 记忆小游戏
memory·seekdb·deepagents·powermem
chanalbert1 个月前
Agent 工程化指南(二):记忆与规划 — 让 Agent “记得住“且“做得对“
agent·memory·rag·mcp
一个处女座的程序猿1 个月前
Agent之Memory:claude-mem的简介、安装和使用方法、案例应用之详细攻略
agent·memory·claude-mem
YigAin1 个月前
Unity Spine 资源出现白边的解决办法
unity·游戏引擎·spine
UWA1 个月前
资源回收“两头堵”:RUUA调了会卡,不调内存又涨
性能优化·memory·游戏开发
weigangwin1 个月前
采用 mem0 之前,先决定 Agent 到底允许记住什么
人工智能·opencv·ai·llm·memory·ai agent·mem0