VX7000, Slow key up processing | developer.brewmp.com VX7000, Slow key up processing | developer.brewmp.com

Developer

VX7000, Slow key up processing

Forums:

Hi

I would like to know if anyone else has observed the following problem. On the LG VX7000 after any keyup, our game will stop for a very short time, but it's noticeable as the animations stop. It occurs only on key up, everything is fine if we press a jey and hold it.
There is no processing in the game on the key up. So the phone must process something, it's not the key beep as it is done on the jey down, and the pause is present when the sound is off too.

Does anyone know what the phone is doing on this keyup event?

I have not observed this problem on any VX7000 software builds.
Does this occur in any other applications on your handset?

I have not observed this problem on any VX7000 software builds.
Does this occur in any other applications on your handset?

I haven't seen that behavior on that handset either.

I haven't seen that behavior on that handset either.

I get exactly the same thing on my VX7000. Everytime I press a key in-game, the game pauses for a short period. I've no idea whats going on either! I've not got time to look into it at the moment though.
Steve.

I get exactly the same thing on my VX7000. Everytime I press a key in-game, the game pauses for a short period. I've no idea whats going on either! I've not got time to look into it at the moment though.
Steve.

What software builds are you guys using? And do you notice the issue in any apps besides your own?

What software builds are you guys using? And do you notice the issue in any apps besides your own?

We have
SW Version : T70VZ03
We have not noticed the bug on other games, but they are pretty simples and run at a high fps. The one we have problems with is pretty cpy and display intensive and run only at around 10 fps. So maybe it's not noticeable on smaller games.
I will do more tests when i have more time in a few days.

We have
SW Version : T70VZ03
We have not noticed the bug on other games, but they are pretty simples and run at a high fps. The one we have problems with is pretty cpy and display intensive and run only at around 10 fps. So maybe it's not noticeable on smaller games.
I will do more tests when i have more time in a few days.

Gugu wrote:We have
SW Version : T70VZ03
We have not noticed the bug on other games, but they are pretty simples and run at a high fps. The one we have problems with is pretty cpy and display intensive and run only at around 10 fps. So maybe it's not noticeable on smaller games.
I will do more tests when i have more time in a few days.
I have the same SW version too. I'm doing a full screen 3D game which is also display / CPU intensive. It's rendering (no-pun intended) our game unplayable at the moment.
Steve.

Gugu wrote:We have
SW Version : T70VZ03
We have not noticed the bug on other games, but they are pretty simples and run at a high fps. The one we have problems with is pretty cpy and display intensive and run only at around 10 fps. So maybe it's not noticeable on smaller games.
I will do more tests when i have more time in a few days.
I have the same SW version too. I'm doing a full screen 3D game which is also display / CPU intensive. It's rendering (no-pun intended) our game unplayable at the moment.
Steve.

I recently had more time to investigate on this thing. And the problem only occurs in very intensive parts of the game, in 2d menus there is no problem, but when 3d engine is running we have these pauses on the key up events.
i checked the time elapsed between the end of a Ontime and the start of the next one, and time spend inside the ontime. and what i get is something like this for the main scene where all the processing occurs
time between ontimes if 0 ms and processing time is 75ms, this is pretty constant, and when no key is pressed.
When i have a key down event, time between ontimes rise to around 40 and processing stays the same.
For the KeyUp event however the time between the ontimes rises to around 200 and the processing time rises to 500.
And this is when i press a key that has no effect in the game. So it seems that when an key up occurs the os does something and the spu allowed to the game slows down by about 500-600% for the next ontime.
I dont know what the os does with the keyup to cause this.

I recently had more time to investigate on this thing. And the problem only occurs in very intensive parts of the game, in 2d menus there is no problem, but when 3d engine is running we have these pauses on the key up events.
i checked the time elapsed between the end of a Ontime and the start of the next one, and time spend inside the ontime. and what i get is something like this for the main scene where all the processing occurs
time between ontimes if 0 ms and processing time is 75ms, this is pretty constant, and when no key is pressed.
When i have a key down event, time between ontimes rise to around 40 and processing stays the same.
For the KeyUp event however the time between the ontimes rises to around 200 and the processing time rises to 500.
And this is when i press a key that has no effect in the game. So it seems that when an key up occurs the os does something and the spu allowed to the game slows down by about 500-600% for the next ontime.
I dont know what the os does with the keyup to cause this.

Steven Haggerty wrote:I get exactly the same thing on my VX7000. Everytime I press a key in-game, the game pauses for a short period. I've no idea whats going on either! I've not got time to look into it at the moment though.
Steve.
I have a Vx7000 myself and there are some issues with key up. It looks like there is an active Delay before the application receives the key release event. It is particularly evident when you try to animate buttons. The key press event is instantaneous, but the key release event is delayed. I discussed this with one of our other engineers and he said it may have something to do with the fact that the release event waits for a period of time before signalling the event, in order to determine whether it sends repeating key events ( I assume he means, holding the key down for a period of time will produce repeats of that key event. I don't know myself as I don't use that functionality.)
I didn't really find a work around for this issue, except to not depend on key release events to do time critical things.

Steven Haggerty wrote:I get exactly the same thing on my VX7000. Everytime I press a key in-game, the game pauses for a short period. I've no idea whats going on either! I've not got time to look into it at the moment though.
Steve.
I have a Vx7000 myself and there are some issues with key up. It looks like there is an active Delay before the application receives the key release event. It is particularly evident when you try to animate buttons. The key press event is instantaneous, but the key release event is delayed. I discussed this with one of our other engineers and he said it may have something to do with the fact that the release event waits for a period of time before signalling the event, in order to determine whether it sends repeating key events ( I assume he means, holding the key down for a period of time will produce repeats of that key event. I don't know myself as I don't use that functionality.)
I didn't really find a work around for this issue, except to not depend on key release events to do time critical things.

I haven't seen any key-up slow down problems on the VX7000 with my fullscreen 3d app, but it gets ~14 FPS so maybe at that speed it doesn't occur. :confused:
Note, I did have strange problems with sounds breaking up/weirdness when my ISHELL_SetTimer was set at 0 for the callback delay, it's now up in the 50 MS range.

I haven't seen any key-up slow down problems on the VX7000 with my fullscreen 3d app, but it gets ~14 FPS so maybe at that speed it doesn't occur. :confused:
Note, I did have strange problems with sounds breaking up/weirdness when my ISHELL_SetTimer was set at 0 for the callback delay, it's now up in the 50 MS range.

mrfun wrote:I haven't seen any key-up slow down problems on the VX7000 with my fullscreen 3d app, but it gets ~14 FPS so maybe at that speed it doesn't occur. :confused:
Note, I did have strange problems with sounds breaking up/weirdness when my ISHELL_SetTimer was set at 0 for the callback delay, it's now up in the 50 MS range.
Maybe it is an issue with the software revision I have. I too am getting about 15fps with my game (mostly coz I can't seem to get any better resolution with my timers).
A simple test that I've been able to reproduce consistently is to create a simple app. In your handle event function create conditions for handling the EVT_KEY_PRESS and EVT_KEY_RELEASE events. In the case of each one, draw some graphic. I would suggest use a button graphic where it has a pressed and unpressed state. When you press, let's say SELECT, on the phone, draw the graphic in a pressed state, then when the SELECT is released, draw the button in a released state. You should notice that there will be a slight delay in receiving the EVT_KEY_RELEASED event, and the button up graphic will update after a 100ms or so after the key was released, where EVT_KEY_PRESSED seems to be almost instantaneous.
Again, this could be dependent on software revisions, but my VX7000 was purchased in Nov 2004, so it's isn't terribly old.

mrfun wrote:I haven't seen any key-up slow down problems on the VX7000 with my fullscreen 3d app, but it gets ~14 FPS so maybe at that speed it doesn't occur. :confused:
Note, I did have strange problems with sounds breaking up/weirdness when my ISHELL_SetTimer was set at 0 for the callback delay, it's now up in the 50 MS range.
Maybe it is an issue with the software revision I have. I too am getting about 15fps with my game (mostly coz I can't seem to get any better resolution with my timers).
A simple test that I've been able to reproduce consistently is to create a simple app. In your handle event function create conditions for handling the EVT_KEY_PRESS and EVT_KEY_RELEASE events. In the case of each one, draw some graphic. I would suggest use a button graphic where it has a pressed and unpressed state. When you press, let's say SELECT, on the phone, draw the graphic in a pressed state, then when the SELECT is released, draw the button in a released state. You should notice that there will be a slight delay in receiving the EVT_KEY_RELEASED event, and the button up graphic will update after a 100ms or so after the key was released, where EVT_KEY_PRESSED seems to be almost instantaneous.
Again, this could be dependent on software revisions, but my VX7000 was purchased in Nov 2004, so it's isn't terribly old.

Hi,
Looks like we may have the same problem here with our 3D game. Each time we press a key, there's a real slow down on the frame rate. It's really hard to enjoy the game since it involves a lot of key presses.
My phone version is : T70VZV08
Has anyone found a way to fix that or a work around?
Thank you.
JF
Note: Do you know if the VX8000 has the same problem?

Hi,
Looks like we may have the same problem here with our 3D game. Each time we press a key, there's a real slow down on the frame rate. It's really hard to enjoy the game since it involves a lot of key presses.
My phone version is : T70VZV08
Has anyone found a way to fix that or a work around?
Thank you.
JF
Note: Do you know if the VX8000 has the same problem?

On the new game I'm working on, I'm seeing a slow down problem related to key-ups.
However, it only occurs if a PMD sound (probably qcp too, haven't tried) is playing at the TIME of the release. If sound is disabled completely, there is no problem. If sounds are loaded and played with no key-ups during the sound playing, there is no slowdown.
VX7000.
Anyone seeing anything similar? Framerate is ~20 on this 3d game.

On the new game I'm working on, I'm seeing a slow down problem related to key-ups.
However, it only occurs if a PMD sound (probably qcp too, haven't tried) is playing at the TIME of the release. If sound is disabled completely, there is no problem. If sounds are loaded and played with no key-ups during the sound playing, there is no slowdown.
VX7000.
Anyone seeing anything similar? Framerate is ~20 on this 3d game.

Hi Everybody,
I have had a similar problem on Nokia 6585.
This was happening because in my phone settings the key beep was switched off. On some devices it happens when the key tones is on.This has got to do something with the priority of the sounds being played.
Try changing Your key tone settings on the phone.This could solve your problem.Do let me know if ths solved yor problem.
Also as far as I know there is no way to control the key beep from the application. Do let me know if there is a way wherein I can control the key beep from the application.
Regards ,
Shridhar

Hi Everybody,
I have had a similar problem on Nokia 6585.
This was happening because in my phone settings the key beep was switched off. On some devices it happens when the key tones is on.This has got to do something with the priority of the sounds being played.
Try changing Your key tone settings on the phone.This could solve your problem.Do let me know if ths solved yor problem.
Also as far as I know there is no way to control the key beep from the application. Do let me know if there is a way wherein I can control the key beep from the application.
Regards ,
Shridhar

In case someone is still wondering slow key release events on VX7000, I solved this by increasing main loop timer delay.
// needs to be at least 20
#define MAIN_LOOP_TIMER 25
void mainLoop( void *gs ) {
GameState *game = (GameState *) gs;
// move player according to key states
updateGameState(game);
// update screen
repaintGame(game);
// loop
ISHELL_SetTimer( game->m_pIShell, MAIN_LOOP_TIMER, (PFNNOTIFY) mainLoop, game );

If the value of MAIN_LOOP_TIMER is e.g. 10, the key release events are slow, if the value is e.g. 20, key releases are as fast as key presses.

In case someone is still wondering slow key release events on VX7000, I solved this by increasing main loop timer delay.
// needs to be at least 20
#define MAIN_LOOP_TIMER 25
void mainLoop( void *gs ) {
GameState *game = (GameState *) gs;
// move player according to key states
updateGameState(game);
// update screen
repaintGame(game);
// loop
ISHELL_SetTimer( game->m_pIShell, MAIN_LOOP_TIMER, (PFNNOTIFY) mainLoop, game );

If the value of MAIN_LOOP_TIMER is e.g. 10, the key release events are slow, if the value is e.g. 20, key releases are as fast as key presses.