3.8.1正式版 你们的spine都还好吗?

感觉3.8.0后的spine还有很大完善空间。

let skeletons = nodeSub.getComponentsInChildren(sp.Skeleton)

                    if (skeletons) {

                        skeletons.forEach((skeleton)=> {

                            // skeleton.defaultCacheMode = sp.Skeleton.AnimationCacheMode.SHARED_CACHE

                        })

                    }

设置defaultCacheMode会崩溃。

我用了3.8.2版本的引擎,也出现了这个问题,我是频繁的打开关闭界面导致的。界面里面用了dragonBones的东西,异步加载了远程的龙骨数据image

这个感觉是 2d 底层渲染的报错了。能否提供一个复现demo给我们排查一下?谢谢。

大佬3.8.3这周会出社区测试版吗

我这里也有一个spine崩溃的demo,3.8.2、3.7.4、3.6.3都必现。 大佬请看: https://forum.cocos.org/t/topic/157119

3.6.3也有同样的崩溃问题

比较容易复现的方法: 频繁切换动作或者切换spine,有概率出现。
image

[WARN]: Triple buffer enabled for infrequently-updated buffer, consider using MemoryUsageBit::DEVICE instead

这个警告必现方法,只要有spine,两个不同的spine进行切换,有大概率会出现警告,然后释放Spine ,执行 sys.garbageCollect() 也有大概率。
image

image

3.8.2的构建配置没有看见有地方 fallback到 asmjs啊.要设置什么?

哥们 你知道上班突然笑起来有多奇怪嘛 :laughing:

大佬,请问解决了没有呀@

没有的,还在排查,Xcode的日志很容易出现。目前我还不太确定是否会影响游戏,论坛里说是不影响的。后续这边技术预研,如果搞定了,就跟你同步一下。

我也是一堆这个报错,然后GC了,就必定奔溃

官方在另外一个帖子回复,好像这个不会影响,但不确定

需要2个spine的骨骼大于300, 反复切换并马上播放动画。 会比较容易出现
单个角色替换很少概率出现,一般是激烈战斗时,一堆技能spine在池子内被大量复用。

小于100骨骼的话,我之前试了一直没出现

测的话,可以试试50个spine,每隔1帧就执行一次分别加载10个skeletonData并复用在10个旧spine上面, 50个spine循环复用。
原生底下我怀疑,虽然有清理机制,但它不是在当前帧清理,只要复用间隔足够短,它清理速度赶不上复用产生的泄漏速度,就会崩

spine闪退每个版本都有,太恶心了。

安卓3.8.5出现Triple buffer enabled for infrequently-updated buffer, consider using MemoryUsageBit::DEVICE instead紧接着就闪退了

这个是会出现闪退问题 规避的方法是 第一个spine动画内容最多的放前面 他这个好像是内存溢出导致的 之前我也碰到了花了几个小时才规避了