Update on Performance?

Just wondering… is Ansca still involved in trying to improve the performance of LIME? Are there any new ideas or is LIME as good as the platform can support?
Thanks for the update.
[import]uid: 16901 topic_id: 12910 reply_id: 312910[/import]

Ansca have been pretty much busy with the new release currently but they are still very eager to get things working better.

I have also been working on quite a few things myself one being a version that uses some of the tile-swapping techniques mentioned on this and other forums however something like that would severely limit the feature set of Lime so I am still juggling different options.

I am really sorry that it is taking so long and am super appreciative of all you guys ( and gals ) being very patient and understanding. [import]uid: 5833 topic_id: 12910 reply_id: 47442[/import]

I’m waiting on this being fixed before I purchase Lime. Ansca sure are taking their time to address these problems! Performance issues should be considered top priority for game development, surely? [import]uid: 5702 topic_id: 12910 reply_id: 48143[/import]

It’s not really Ansca, a lot of this will be on the shoulders of Lime. There is only so much performance you can get out of a generic engine, Lime needs to get the specifics going but then again I’m trying to make Lime as generic as possible to please as many people as I can. It’s a hard line.

[import]uid: 5833 topic_id: 12910 reply_id: 48153[/import]

I was going by this statement on the main Lime page:

"Please note, currently there are performance issues on hardware which Ansca and myself are looking into."

It implies Ansca need to address performance issues too, and that message has been up there for some time. [import]uid: 5702 topic_id: 12910 reply_id: 48157[/import]

They have been looking into possible performance increases, and so have I. They have just been very busy with getting the latest version of Corona ready and out the door. Now that is done I will be contacting again to see if there has been any progress there end. [import]uid: 5833 topic_id: 12910 reply_id: 48350[/import]

Any updates on this topic? [import]uid: 11904 topic_id: 12910 reply_id: 58213[/import]

Sadly still not yet, I’m hoping that the graphics system changes that were pushed back during the last drop, which are now supposedly going to be in the next drop, will help. A developer can dream can’t he? [import]uid: 5833 topic_id: 12910 reply_id: 58265[/import]

It would seem that ChocoRun runs fine with lime. I’ve done mock ups and made them twice as large as Choco’s and the performance was really good (I can only speak for ios, no idea on android side).

I’m giving it another go right now. I got a maze game I am working on and for this purpose, I think i’ll be fine. From a platformer perspective I think it’s great. As other people mentioned, when you get into a lot of physics bodies, and a lot of tiles (ie, 1000x10000) that seems to be a bit much for any engine to handle. It will work, but you really have to do a lot of management of objects (remove self like a mad man) and re insert when player is within a certain distance which in itself seems to cause a performance hit.

Either way, I say it’s realy good as long as you are aware of how to manage it. I’m a complete coding noob (I mean completely new, never coded anything before jun 2011), and even though i’m getting close to release there are things that work, but I don’t understand why they work or do not (for a lot of things).

Oh well, work in progress I suppose :slight_smile:

[import]uid: 61600 topic_id: 12910 reply_id: 58422[/import]

Wondering if the performance issues are related to a specific feature of Lime, or if it only comes into play at a certain number of objects.

Reason I ask, most of the lime examples don’t seem to run very well for me. Specifically, BasicRPGMovement, ParallaxAndPlayer, and MovingAMapViaTouch. They all seem to run at like 3fps on any device I test them on (Nook Color, Evo 4G, Droid X).

Are there some example files that I just haven’t tested? None of those aforementioned examples seem to have a large number of tiles (e.g. nicholasclayg referred to 1000x10000, which the examples are nowhere near) [import]uid: 49447 topic_id: 12910 reply_id: 58788[/import]

My experience is when I have seen them on android it’s CRAPTASTIC but on ipod/iphone 4 and ipad 2 - things are pretty damn good.

I haven’t tested heavily on droid as I don’t rock a droid license (yet). I’ve met with another person who did, and ran 2 examples (droidx and samsung galaxy s, both 1st gen).

It would seem that I get the best performance by using tiled to build static platforms, etc then doing the rest in Lua/Corona native. LIME is always in the back of my mind, but I’m also using Level Helper (mac only) which does some extra stuff like monster auto pathing (a feature which I discovered by accident and is VERY cool, instead of trying to transition.to all over the place!).

My feeling is LIME will get better, but like other tools I think people read into it and forget we are dealing with a PHONE or a Ipad which doesn’t rock super powerful hardware to begin with.

On the sample front, yes they run kind of craptastic even on iOS. It appears what I do and what the sample does mine runs better. I don’t know why (maybe it’s my hybrid method of mixing and matching LIME and Corona coding?).

Well that was more response than I thought I was going to do, but I think LIME is and will continue to be a very valid option, people just need to know what it’s limitations are.

-ng [import]uid: 61600 topic_id: 12910 reply_id: 58804[/import]

The main performance issues I find, which are certainly a lot more prominent on Android, are down to how many tiles ( or other Display Objects/Groups ) are active. And then when using things like map:drag() as that doesn’t use transitions.

The samples aren’t necessarily the best ways of doing the things they do, they are just a way of doing them and as people use Lime more they will find more and more ways of working with or around limitations just like any other engine/tool.

@producerism When Nicholas mentioned a 1000x10000 map he was referring to maps that wouldn’t work with Lime or really any other engine as that is a whole lot of tiles.

@Darkmod - You’re findings look very interesting, and as Lime uses nested display groups for its layers that might explain a lot of the performance issues if this really is the case. Have you filed a bug report with Ansca?

I was testing out an experimental version of Lime with a dynamic tile loading system that only ever created a screen full of tiles and then changed the indexes of those at runtime to make it appear the map was moving etc, this theoretically would improve the speed dramatically however at the same time it would limit, or completely stop, lots of features of Lime turning it more into simply a tile renderer which although would be useful to some people, it wouldn’t really be Lime any more and there are loads of examples of very fast tile renderers on these forums if people simply want that. [import]uid: 5833 topic_id: 12910 reply_id: 58843[/import]

Thanks for the explanation. Unfortunately for me, I’m developing primarily for Android, so I’m also experiencing some really extreme performance issues, to the point where I’m just using Lime as a reference. I made my first mistake by fleshing out a decent amount of a game before actually running it on any hardware (I know, rule #1…)

Hopefully some of the upcoming changes to the Corona builds will make Lime more usable over time!

p.s. @darkmod, I also highly suggest filling out a bug report so that Ansca can have this on their radar outside of the forums [import]uid: 49447 topic_id: 12910 reply_id: 58852[/import]

I’m also hoping that whatever improvements to the graphics system Ansca are working on will include performance boosts. Particularly on Android. [import]uid: 5833 topic_id: 12910 reply_id: 58860[/import]

I just submitted the Nested display group as a bug. This was the main performance killer for me in my project. I really hope they look into it.
Bug Thread:
http://developer.anscamobile.com/forum/2011/10/03/nested-display-groups-poor-performance-getting-unregistered-touch-events-plug-play
-cheers Darkmod

[import]uid: 7177 topic_id: 12910 reply_id: 58861[/import]

Awesome, thanks for submitting it! Really hope they look into it too. [import]uid: 5833 topic_id: 12910 reply_id: 58863[/import]

I don’t use LIME but it might be related to the amount of display groups. From what i theorized each display group is forced too render(“empty”) and events are registered to check for touch/tap. This apply to empty display groups as well. So if you put a single image in a display group it gets rendered twice and events are registered twice on the back end. I have been trying to get some attention to this without any luck. I could to totally wrong but no one from Corona has confirmed.

My other thread related to display groups (plug in play) try the second thread:

http://developer.anscamobile.com/forum/2011/09/03/touch-drops-fps-01-iphone-no-touch-events

walter where are you…
-Darkmod [import]uid: 7177 topic_id: 12910 reply_id: 58808[/import]

Any update on performance of large scrollable maps?

We are eagerly waiting to get the performance issues fixed. Our game is almost ready but we are unable test it fully on the device? Any more effort on performance issue please … [import]uid: 43345 topic_id: 12910 reply_id: 60590[/import]

I can’t speak for Lime, but I have 11 x 10 tiles of 64 x 48 px size running smoothly on an iPhone 3G, with some moving characters, multitouch control and some transparant layers on top. And it’s running at universal build res, scaled down so it fits on 320x480, but with only the high-res assets in the package.

All it takes is optimisation, and a good fallback mechanism for skipped frames. [import]uid: 70134 topic_id: 12910 reply_id: 60593[/import]

I hope to have something new to say on this front soon, but can’t say anything yet as I don’t want to get hopes up and then for it to not work.

Rest assured though I am still very much working on Lime. I know I have been quiet on this front as of late but I have been putting in lots of tweaks and bug fixes. As well as some cool new features that the next version of Tiled is going to allow. [import]uid: 5833 topic_id: 12910 reply_id: 60745[/import]