I have a very strange issue... I've tested my app on Galaxy S2, Galaxy S4, iPad 3 an iPhone 4S. On the iPhone I receive about one touchesMove event per second (while moving a finger on the screen, of course).
On Gideros 2012.09.10 not calling b2.World.step "fixed" the isssue (I was receiving a lot of touchesMove events).
So I thought that upgrading Gideros was a good idea. On Gideros 2013.06.1 even not calling b2.World.step doesn't help.
On all devices, including the iPhone, FPS was good and there were no real performance issues - always about 60 enterFrame events per second. I've tried to listen for mouseMove events instead - no difference.
The situation is a bit difficult for me, because the iPhone doesn't belong to me and I cannot spend much time debugging the issue on it. If someone wants to spend a minute to run this project on an iPhone (preferably 4 or 4S) and tell me if they have that issue too, I would be very grateful.
Link to the project:
https://github.com/cubuspl42/mgame/archive/dev.zip
Comments
Why do you think that the problem is in World.tick?
Actually, the problem doesn't seem to be a pure performance issue, because FPS is high...
If you edit 'init.lua', line 11, from 'dbg = 0' to 'dbg = 1' you can see a performance graph which doesn't show any big lags (at least on the iPhone 4S I was testing on).
Remember that issue is older than 2013.06, so it's also about multi-threaded rendering loop stuff, but not only that.
edit: Even if I don't call World.tick at all (the only heavy function I have), during some runs the touch events are very, very laggy (1 event per few seconds). But it happens only on SOME runs (like 10% chance). It's strange. It's very strange.
Now that atilim mention about that, i know why my game seems a bit unresponsive.
Waiting for an update before updating my game :-h
And yeah, it is so weird cubuspl42, adding and erasing a print() even affect the touch events. I'm confused enough while debugging yours. ) Now we know the reason, we need to wait for it
IMO, it's a bug and it should be fixed ASAP.