Cocos Enhance Kit: 对 Cocos Creator 引擎进行性能优化、增强的开源项目

可以了 是缓存问题。

第一个问题的demo,直接预览就能看到效果。如果预览正常可以尝试点击按钮切换显影
testAni.zip (575.7 KB)

非常感谢你的帮助,已经确定并修复问题。

这是因为勾选了延迟加载资源,触发其加载的代码在 Material.setProperty 中,但多纹理渲染初始化时不会调用该函数,导致资源不会进行加载。

我们会在稍后发布 1.2.0 修复该问题,提交详情:

mark~

感谢大家的反馈!
新版本已上传至 Github,付费的引擎扩展已在 Cocos Store 提交了审核,请等待审核通过。

Enhance Kit v1.2.0

  • [新特性] cc.TiledLayer 支持复用 Culling 数据
  • [修复] 修复 MotionStreak 初始化报错的问题
  • [修复] 修复勾选延迟加载资源时资源不会加载的问题

以上特别感谢 Astarte 的反馈

2赞

有点困扰.正常安装显示成功了.但是只有浏览器和模拟器的DC生效了.原生和微信小游戏都没生效.

原生编译可能有缓存,微信小游戏可以检查一下有没有用引擎插件

嗯… 不是编译缓存的问题.
原因是原生上没有设置 cc.macro.CLEANUP_IMAGE_CACHE = false.
我的场景是

  • char缓存的label特别多,且需求显示清晰,所以开启了cc.sp.labelRetinaScale=2 且设置了cc.sp.charAtlasAutoBatchCount = 2(或者更大).
  • 设置了一些尺寸很大的背景图和内容图的packable为false,不参与动态合图,以免很快就占用完.(然后会出现了纹理各种显示错乱的问题)
  • 在测试一段时间 cc.dynamicAtlasManager.atlases,length稳定后确认没问题了.
  • 最后结果,原生上dc 大幅下降,帧率提升明显.

markMark

好的,请问错乱是怎么回事,我有测试过占满后可以正常渲染,能麻烦提供复现的工程吗,感谢

2.4.10 考虑支持吗?大佬

当然,会在这两个星期内完成适配的!

1赞

如此优秀的大佬应该让官方收编才是:exploding_head:

Mark111

mark.

大佬可以问一个置灰相关的问题吗,貌似通过材质球宏开关设置灰好像并没有用…

float gray = 0.2126 * o.r + 0.7152 * o.g + 0.0722 * o.b;

大佬,请教一个问题,我这边测试动态加载一个sprite节点,然后销毁并且释放掉资源,动态图集中用到的纹理没有被释放,通过cc.dynamicAtlasManager.showDebug(true)打印出来还在。但是我通过cc.assetManager.assets打印出资源,里面已经没有该纹理了。
请问我应该怎么测试动态图集中的纹理释放呢?

这个信息不太全,但是注意组件会自动切换材质,排除是这个问题导致的之后,置灰是可以的

动态图集的纹理释放时不会去清除像素,所以你还能看到它,但可以通过图集数据看到没有使用相应的区域 rect 了

1赞

好的,非常感谢,我调试源码也发现会进行释放,刚才又通过创建销毁,然后创建另外一个节点,再打印动态图集,发现原本的区域叠加上了新的资源,确实是没清理像素,但是资源被释放掉了。另外我想知道,如何显示出char缓存的图集呢?我通过cc.Label._shareAtlas.getTexture()获取出来的是一张空白的纹理。