可以了 是缓存问题。
非常感谢你的帮助,已经确定并修复问题。
这是因为勾选了延迟加载资源,触发其加载的代码在 Material.setProperty 中,但多纹理渲染初始化时不会调用该函数,导致资源不会进行加载。
我们会在稍后发布 1.2.0 修复该问题,提交详情:
mark~
感谢大家的反馈!
新版本已上传至 Github,付费的引擎扩展已在 Cocos Store 提交了审核,请等待审核通过。
Enhance Kit v1.2.0
- [新特性] cc.TiledLayer 支持复用 Culling 数据
- [修复] 修复 MotionStreak 初始化报错的问题
- [修复] 修复勾选延迟加载资源时资源不会加载的问题
以上特别感谢 Astarte 的反馈
有点困扰.正常安装显示成功了.但是只有浏览器和模拟器的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 考虑支持吗?大佬
当然,会在这两个星期内完成适配的!
如此优秀的大佬应该让官方收编才是
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 了
好的,非常感谢,我调试源码也发现会进行释放,刚才又通过创建销毁,然后创建另外一个节点,再打印动态图集,发现原本的区域叠加上了新的资源,确实是没清理像素,但是资源被释放掉了。另外我想知道,如何显示出char缓存的图集呢?我通过cc.Label._shareAtlas.getTexture()获取出来的是一张空白的纹理。