[贾贵评测]关于98K多纹理自动合批的评测

内存占用怎么样,资源释放好处理吗

理论上内存占用不会有太大变化,
纹理是引擎管理共用,多纹理只是读取,不会创建

主要是释放这块,大项目如果是纹理共用,释放其中一部分不需要的纹理内存后,剩余的纹理会自动整理吗

看你有没自己纹理管理,没有自己的管理,就是引擎在管理,和你平常使用没区别

小白不懂就问,使用98K之后,就可以无视 “sprite节点放一起,Label 节点放一起,不要交叉放” 这样的 DC 优化原则了么?

不是。多纹理合批的原理只是解决了一部分的合批问题。
核心思路就是,一般来说一次合批渲染,要求这些渲染的对象都使用同一个图集。
但是实际上,在渲染时,我们是可以同时设置多个纹理的,江南百景图的报告中调查,当时有90%多的设置都能支持8个以上的纹理了。现在大部分的手机应该都能支持16个了。
也就是说,你可以同时设定16个图集,然后具体渲染哪个,通过一些额外的参数去控制。
这样使用不同图集的对象也能合批渲染。
这个技术可以解决类似于这样的问题:
你做了一个背包系统,背包物品的种类非常多,一个图集无法装下所有icon。

2赞

如果它的多纹理包含了字符图集的纹理应该是能的,不过我没用过,盲猜能

多纹理合批,核心的原理,

是在Shader中对纹理扩容(支持8张纹理起),从而增强合批的机率

在线体验:98K 多纹理合批 3.x

1赞

@android3dx 大佬能否解答下这个问题?

即有两个图集,一个是sprite节点的图集,一个是Label字符图集,然后 sprite 节点跟 Label 节点各种穿插(sprite、label、sprite、label …),请问这样也能合批么?

原理上可以

可以,只要默认材质,这种图文交错排布,是可以多纹理合批

2赞

有钱买了再喷吧,没钱唧唧歪歪的傻鸟

看了效果,真的牛批,怎么做到的?真的太厉害了

原理不复杂,通过多纹理增强合批能力,
减少draw call时间消耗,达到优化目的。

1赞

买了很好用,效果不错,顶一个

这个体验链接试了下,drawcall 是只有5,但是帧率非常不稳定 5 - 60 浮动 。是代码混淆导致的吗。 如果游戏使用了,并且构建时也进行代码混淆,会不会有同样问题。

1。混淆肯定是对js有影响,用过混淆工具都知道

2。体验代码是半年前的了,后面做了不少改动优化

大佬,问一下这个在微信小游戏平台上会多存一份image对象而导致内存增加吗?

那肯定增加,创建上传完texture后,通常建议是不留image数据

CLEANUP_IMAGE_CACHE,意味着不需要再打开这个开关了嘛?