Visual artefacts on iPhone 4S

Hi guys,

Just got my game published on AppStore and one customer sent me screenshots with horrible artefacts on her iPhone 4S. I’ve tested the game on iPhone 3G, 3Gs and iPhone 4 - everything works fine.

As you can see from the screenshots, sometimes it just slices off the whole layer, sometimes it completely doesn’t display square parts of images.

Any ideas why it may happen?


IMG_1988.JPG (80.3 KB)


IMG_1989.JPG (64.6 KB)


IMG_1990.JPG (121.5 KB)

I got hold of iPhone 4S and currently running tests from cocos2d-x of the latest version.

Basically, there are still absolutely the same problems even in the standard tests, but not in all of them.

For example, starting from actions tests and up to SceneTest (apart from ParticleTest) - running ok.

ParallaxTest - when I run it at the beginning, then it show the problem .
The same problems with TileMapTest and Texture2DTest (when images become too big - they start blinking).

However, when you run EffectsTest and after that any of the defected tests - Parallax or TileMap, then they work ok.

So it seems that EffectsTest has something that makes OpenGL work without problem. Carrying on my research…

Ok. Seems that this issue is quite old in cocos2d - http://www.cocos2d-iphone.org/forum/topic/14495

But it is still relevant. I haven’t tested on iPad2, but there is definitely a problem on iPhone 4S.

For setting 2D projection worked:
pDirector->setProjection(CCDirectorProjection2D);

I didn’t disable Depth Test (as I use PageTurn transitions) and it seems to be ok.

Hope it can be useful for somebody

oops, not a good news, while Riq insist that it’s a bug of Apple.

I have problems with rendering of TweeJump also. A Screenshot from compiled game for Win32 is attached in there yellow arrows indicate the location of artifacts. Similar rendering artifacts on real Android device. How resolve it? I have exact answer: source code must be able to
#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1