We are trying to optimize our game to take advantage of the new performance improvements described by Walter:
http://blog.anscamobile.com/2012/02/blazing-sprite-and-tile-performance/
We are having some major performance issues since we upgraded to build 761+ for our game and builds later than this do little, if nothing, to improve the situation. I am hoping that someone may be able to shed some light and offer suggestions as to what the problem is and whether it is my lack of knowledge of the new imageSheet / imageGroup ‘performance improvements’ or in fact that there is an issue with the new builds.
A little background:
Our game is a tiled based game with average map sizes of 30 x 60 [individual tiles are 96 x48] built using Tiled and loaded using Lime. The physics for the maps are created in PhysEd (the imported data averages about 130-200 polygons for the ‘landscape’) and added to the landscape tiles as a whole as
the landscape is more than a little curvy (applying physics to individual tiles wasn’t viable). We make use of the Lime API to ‘spawn’ our game objects at level start but after that it’s running in our code and only calling Lime (map:update()) to track the player in the map.
The game was originally developed using build 704 and we had some issues even with screenCulling enabled in Lime, so we tried to use much bigger tiles (much bigger!) and we did get a performance boost, mainly because Lime was culling far less tiles at once, but it did bring with it something of a texture memory issue, especially on 3G.
We were delighted to hear about build 759+ as it seemed to address all of the performance issues we were having, and the videos and blog about it seemed to suggest this was the answer to our problems. So we duly subscribed and bought a Pro license to get these improvements.
We switched back to our normal tileset size, and obtained a Lime 3.5 Beta that makes use of imageSheets (and corrected an issue of corrupt rendering of maps in 3.4). Amazingly, performance actually decreased (21fps vs 25 in 704) and we also seemed to be getting a ‘stutter’ of the display when scrolling. By this time we were using build 765.
All game graphics and UI were recoded to make use of imageSheets and even that brought little improvement and still a stutter, so the next thing we tried was to modify Lime 3.5 to use imageGroups (instead of displayGroups that Lime has always used) and it seemed to make framerate worse, not better, and the
stutter is even worse.
We have studied how to use imageSheets and imageGroups and read the blog on their use, so their use is correctly implemented to the best of our knowledge. So this leaves us puzzled somewhat as to why a ‘performance improvement’ isn’t improving anything for us, despite the lengths we have gone to, to embrace the changes. Between builds the game code changed very little and any change wouldn’t account for the degrade in performance.
So if anyone can perhaps shed some light or make comments or suggestions, it would be most appreciated.
Thank you.
[import]uid: 134650 topic_id: 23506 reply_id: 323506[/import]