Our game works wonderfully on series 30, series 40 and series 60... except for S30 mono (3410).
The problem is that key events are being lost - i.e. the game is unresponsive.
Now this must be related to the render loop I am using - but I have tried several approaches and nothing seems to fix the input events being lost.
For example, I have tried:
1) using repaint(), serviceRepaints() and then Thread.sleep( FPSmillis-previousRenderDelta), then callSerially( this)
2) using repaint(), Thread.sleep(), then callSerially( this)
3) using repaint(), Thread.sleep(10 or more), then callSerially( this)
None of these improve key performance.
Does anybody have any clues for me? I know that -very- rarely we are missing key events on S40/S60 too - as this results in a "key stick" effect in my game - this is so rare you basically never see it - but it points to a problem in our game loop.
This really is the biggest weakness in MIDP
I just don't get why key events aren't getting through - we are sleeping, and we are returning control to MIDP because we use callSerially.
Thanks in advance for any words of wisdom.