文本draw call次数问题


两个相同的label,为什么需要两次drawcall,我觉得应该用一个drawcall即可,但不知道怎么改,望大神解疑?

两个不同的对象 底层是通过Android和IOS去生成文本的图片 然后渲染到COCOS2DX的VIEW里的 本质不是一样的东西。

我是用ttf的方式去生成文本图片的,就是说,是从字体文件里通过freetype引擎取得文本的像素值,然后生成一张纹理集TextureAtlas去保存起来,各个字符就记录它的位置和大小,这样就可以画出来了,可是问题是,上面的两个Label,实际上他们是共用一份TextureAtlas的,所以按理来说应该可以在一个drawcall里画完的,可是结果是需要2次,why?

因为你少算了左下角debug信息的那次drawcall。。。。。

那里是不算进去的,

你可以去看下源代码 根本不是你认为的那样。。。 安卓有个API 输入字符 可以输出 字符的图形 (IOS 也差不多) 然后获得了这个图片的bitmap data 在cocos c++里再建立材质。 所以虽然是同样的文字 但是他们每次都是新的 这个也是为什么用系统文字特别慢的原因。 位图字体就不一样了。

这个是一种字体渲染的方式,我以前也用过这种方式,但是并不是我说的用ttf创建字体的方式,

http://forum.cocos.com/t/label-ttf-drawcall/49927