CCLabelBMFont + Adreno 20x GPU = Display Issues

When rendering text on an Adreno 20x GPU using CCLabelBMFont the label will run out of characters and truncate.

Below the label should read “We’ve waited far too long at these springs. We have to abandon the caravan and make our way north, across Cellet Void.”

On the Adreno 20x GPU, the text cuts off as shown.

This is the same set of devices that had the issue with Spine extension and TextureAtlas sizing.

http://www.cocos2d-x.org/forums/6/topics/36099?r=37950#message-37950

Does anyone have any ideas how to patch for this issue in the CCLabelBMFont or CCAtlasNode code?


LkmMK_pE6F18ajC8PHvG.png (34.6 KB)


SC20131025-001825.png (154.6 KB)

On some old android devices running Adreno 20x GPU. They have problem increasing spriteNode capacity.

Look in CCLabelBMPFont.cpp for this line

if (CCSpriteBatchNode::initWithTexture(texture, strlen(theString)))

change it something like this and see it works

if (CCSpriteBatchNode::initWithTexture(texture, strlen(theString)+20 ))

It seems like creating extra capacity on all labels is wasteful.

Is it possible to detect these devices and only add the additional capacity for them?