Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat | DONATE
Very infrequent "touchesMove" events... only on iPhone — Gideros Forum

Very infrequent "touchesMove" events... only on iPhone

cubuspl42cubuspl42 Member
edited July 2013 in Bugs and issues
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

  • Yes, the same issue on iPhone 4G and iPad 2, i don't know where is the exact problem is, but it is at that World:tick (whcih contain updateMasters, on_tick, and updateSlaves... which each of them seems create the cause)

  • atilimatilim Maintainer
    I think I know the problem. With 2013.06.x, I've dropped multi-threaded rendering loop on iOS. And now iOS cannot generate touch events frequent enough. I'll fix it very soon.
  • cubuspl42cubuspl42 Member
    edited July 2013
    Thank you very much @tkhnoman!
    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).
  • Thanks for you answer @atilim! That's right, the 2013.06 did it worse, but the issue originates from 2012.09... :(
  • cubuspl42cubuspl42 Member
    edited July 2013
    Ok, worse news: The whole problem with touch events didn't exist on iPad 3. After updating Gideros Player to 2013.06.1 the app is unusable on iPad 3. Performance is still very good - it's just about frequency of touch events (now: sometimes 1 event per 5 seconds!).

    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. :/
  • Woop... Never know that there is a change.
    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
  • It is weird... I'm not sure how the Gideros' event loop is constructed, but it shouldn't ever give less touchesMove events (while dragging the finger on the screen) than enterFrame events... Do you agree, @atilim?
    IMO, it's a bug and it should be fixed ASAP.
Sign In or Register to comment.