|
Post by StuBee on Feb 4, 2005 3:21:12 GMT 1
I wanted to start a new thread on the 'Key mask' issue, which slows the SNES, GENESIS emulators to a crawl when a key is pressed (and sound is on). Yoyofr has mentioned it a couple of times in other threads which have now been buried.
To summarize Yoyofr has stated that: - "the slowdown issue seems to be noticed on most devices other than zodiac. In fact, every device which does not support key masking will generate event (to be handled or crash will occur), so slowdown the overall emulation process. " - "The issue is some devices do not implement the standard palmos keysetmask function, which is used to tell the os not to generate event for the buttons corresponding to the mask sent as parameter. So perhaps I need to handle more event in my handler in order to prevent them from being processed by the system handler, but I have to find more docs then... " - "I have to find a way to solve the issue, but right now I've no solution. "
Is there anyone out there that can lend assistance or has knowledge of this issue?
----- Of course can't post without the shout out: !Much thanks to Yoyofr on his great work !
|
|
|
Post by StuBee on Feb 4, 2005 3:23:26 GMT 1
I'm not a palm programmer..so I'll probably embarress myself here.... I found this piece of code here: www.developer.com/ws/palm/print.php/10946_2224141_2===================================== // This function should be called somewhere to mask keys static void GameMaskKeys () { Word initDelay; Word period; Boolean queueAhead; // Set the keys we poll to not generate events. This saves cpu cycles. KeySetMask(~keysAllowedMask); // Also set the key repeat rate low to avoid constantly checking them. initDelay = slowestKeyDelayRate; period = slowestKeyPeriodRate; queueAhead = false; KeyRates(true, &initDelay, &period, &period, &queueAhead); } ......
|
|
|
Post by StuBee on Feb 4, 2005 18:00:00 GMT 1
Discovery: I found out why I'm the only one really saying this is an issue ! I tried LJP on my lady's T3 and it ran Genesis without a hitch...even with sound on, and keys depressed ! Wow....it looked fantastically smooth. So it seems that this issue may only a problem for us TC users. Maybe because it has 44 keys for the EMU to check ! Hopefully a solution will present itself Anyone else seeing this issue, please chime in.
|
|
j5350
New Member
Posts: 13
|
Post by j5350 on Feb 4, 2005 19:04:15 GMT 1
My Treo has 44 keys and it doesn't have aproblem with slowdown. When I play any system, I get constant frame rates with or without pressing the keys. Maybe it's just the TC.
|
|
|
Post by StuBee on Feb 4, 2005 21:00:14 GMT 1
My Treo has 44 keys and it doesn't have aproblem with slowdown. When I play any system, I get constant frame rates with or without pressing the keys. Maybe it's just the TC. Darn..I was hoping it would be a more global issue and therefore be easier for Yoyofr to troubleshoot (Selfish, yes Well, in the Tungsten C posts people mentioned it occuring in SNES, so I imagine it's still occuring for everyone's TC in GENESIS and not just mine. Once again, if anyone has info to the contrary, please let me know. After playing with a T3 with the sound on, it's hard to go back and play the TC with sound off
|
|
Psyborx
New Member
Psyborx Khann
Posts: 25
|
Post by Psyborx on Feb 7, 2005 6:32:34 GMT 1
I just don't understand why there is slowdown in TC and not in the T3 since they both have almost the same specs
|
|
s19locke
Junior Member
I am a TREASURE HUNTER, not a thief
Posts: 85
|
Post by s19locke on Feb 8, 2005 18:01:27 GMT 1
I'm confused. When ever I press abuttton on my TlE it seems to runs faster espaccially if I hold it down. "off topic" Maybe it is just me but it seems that people using a TlE have the least amount of complaints and is possibly the device with the worst specs is a little odd. By the way great work on EVERYTHING yoyofr ;D
|
|
|
Post by Tinnus on Feb 8, 2005 21:56:35 GMT 1
I'm confused. When ever I press abuttton on my TlE it seems to runs faster espaccially if I hold it down. "off topic" Maybe it is just me but it seems that people using a TlE have the least amount of complaints and is possibly the device with the worst specs is a little odd. By the way great work on EVERYTHING yoyofr ;D Just taking the off-topicness train... If you check my sig you'll see I have some interest for nicer filters for GB/GBC, so I'm trying to port them into LJP. The good news is that with a completely hacky and slow implementation of the hq2x filter (which btw isn't working yet, but I'm sure it runs all the code; that's also the slowest filter) it didn't get nearly as slow as I thought (around 10FPS loss on my T|E with frameskip 1 and 22khz sound). So I think we'll get all of those filters in my sig (2xSaI family, Scale2x, hq2x) soon... actually as soon as I get them working right (of course I won't release any binaries or anything to the public before showing it to yoyo; and if he likes it he can incorporate my changes to the main source code so we don't get any version problems)
|
|
|
Post by StarChild on Feb 8, 2005 22:46:32 GMT 1
Hey StuBee,
I have a T|C aswell and I'm having the exact same problems. Althought The music slows the game to unbearable rates, I still believe the "Key Mask Slowdown" (not a programmer) issue is among the ONLY major flaw in gameplay. It virtually makes any action game unplayable, and any role playing game difficult. If this exception could be fixed, then all hail! ;D On another note, the sheer fact that Chrono Trigger can be played on a palm pilot is disturbingly awe-inspiring, Cheers to all developers, StarChild
|
|
s19locke
Junior Member
I am a TREASURE HUNTER, not a thief
Posts: 85
|
Post by s19locke on Feb 9, 2005 1:37:16 GMT 1
Hey I googled the stuff you had listed tinnus and it looks great. I dont think i could take the speed hit on snes though. On everything else would be great in fact better than great. On the keymask issue it seems that yoyofr is gonna have to either start customizing for each palm, (which would be time consumeing) or we need to start a thread about which version works best for what, that DOES NOT get cluttered up with a bunch of other post is a sticky thread
|
|
|
Post by StuBee on Feb 10, 2005 18:12:11 GMT 1
The slowdown also occurs when the D-pad buttons are pressed.... Do you still think this is a keymask issue?
I was starting to think maybe it was more of a keyrate issue or something else specific to the TC.
|
|
|
Post by Tinnus on Feb 10, 2005 18:56:38 GMT 1
The D-Pad is checked the same way as the other buttons.
One thing I noticed: the T|E also slows down; just a little, but it does. It takes me some 8-12 FPS when playing Genesis with fast sound on (I was playing Sbigfont1.pcxnic 1 ;D). (with sound off it's hard to notice)
Maybe the T|C slows down more because it has those 50 extra buttons... if this is true... then there IS a way to check the key state for built-in keyboards...
|
|
|
Post by StuBee on Feb 10, 2005 19:39:32 GMT 1
That's what I originally thought, but someone above posted they don't have this issue with Treo's. Of course, maybe the Treo has a more optimized keyboard driver that doesn't exhibit the issue.
When exiting LJP, it has been noted that - "Key Repeat Rate" is now set to slowest - "Press and Hold Key" option, no longer functions no matter what their previous settings before entering LJP. Both the above options are found under "Keyboard" in Palm Preferences.
That's why i was wondering if maybe the Key repeat rate on the TC might be an issue.
|
|