I’m been battling some major performance issues on actual devices. At first I thought I had too many objects in the playfield since removing a bunch of them entirely did improve performance, but on further testing I was able to retain the original number of objects and not lose any fps as long as I set some of the objects to isVisible=false.
I tested other possibilities, such as image size and fill rate, but nothing else affected performance in my game by more than 1-2 fps. Simply setting a bunch of the objects to isVisible=false improved my framerate from 45 to 60 fps on an iPhone 3gs. The fact that most of the objects were off screen didn’t matter, either.
So, what is so special about isVisible? What is going on under the hood that makes objects that have this property set to true so expensive? I would expect a simple display object that is not on screen, not physical, and not animating to consume very little system resources, but that appears to be so only if isVisible is set to false for that object.
[import]uid: 9422 topic_id: 5575 reply_id: 305575[/import]
