能否运行时进行合图,达到合并drawcall的目的?

背景:最近在优化游戏的帧率,由于图集规划不合理,drawcall合并起来比较费劲。

想法:我就想是否可能在打开一个界面时,动态的将该界面用到的散图合并成图集,省去开发中规划图集合图的麻烦,又能达到drawcall优化的目的。
由于我对引擎底层渲染不太熟,想问一下各位大神,这个思路是否可行?

我是大神,可以的,但你问出这个问题,说明你肯定做不出来;官方也没空;
手动打包大图吧,骚年

手动打包大图,有些情况不知道该怎么合图。
比如背包界面,有很多的icon,Icon上还有各种类型标示图片,红点等小资源。这种小资源可能属于各自的图集,有的可能还是散图,再加上名字,数量这些文字,一个界面下来,drawcall好几百,头大。

这思路在creator里不可行。貌似 spriteFrame, spriteSheet相关的API不够充分,可能写不出你想要的。
而且本身难度有点大,比如说背包里的icon有些是中途添加的,你能一开始把不存在的道具全部绘制到一个图集里吗

老实的手动替换吧。。。可以考虑写个面板插件批量替换

不可行, 移动设备上用到的纹理格式都是压缩的, 例如pvrtc4 1/8内存 etc1*2 1/4内存, 你在运行时只可以创建RGBA8888或者RGBA4444的纹理, 内存会暴增

http://forum.cocos.com/t/topic/48310/2
可以实现,creator可以用renderTexture离屏渲染

1赞