Gpfceu And Lemonboy Question


trayvyz

Still Fresh
Joined
Apr 18, 2010
Messages
56
I noticed that the NES emulator gpfceu runs at 180MHz, whereas Lemonboy, the GB/GBC emulator, needs over 400MHz CPU speed to run properly. I wonder why this could be? One would expect that gameboy is far less CPU hungry than NES. Is it Lemonboy needing more optimization, or has gb emulation reached its peak and goes no further?
 
iirc notaz has has added tons of arm specific optimizations to gpfceu whereas lemonboy is plain c/c++ code (correct me if i'm wrong)
 
Furthermore, I think that it is enough having something that works ok, and efficiency is not that important. I wanna play games in my spare time, not code stuff :)

This is not the opinion of Notaz. He seems to get more fun from looking for efficient ways to code than from playing games. Good for him, keep up the good work :)
 
GPFCE, like Picodrive surely has a long heritage of being pushed to run best on a variety of much slower platforms. I don't think notaz optimizes just because he likes it, although he probably does enjoy it ;)
 
On the other hand, efficient code is sometimes the only way to go. And this is exactly the case of Exophase's work :)
 
juanvvc said:
Furthermore, I think that it is enough having something that works ok, and efficiency is not that important.

Actually, optimization and efficiency is VERY important. Running the same application at a quarter of the CPU speed can save you lots of precious battery life and CPU life expectancy.
 
Last edited by a moderator:
GeorgyPorgy said:
Actually, optimization and efficiency is VERY important. Running the same application at a quarter of the CPU speed can save you lots of precious battery life and CPU life expectancy.

Battery life needs are extremely subjective and relative. People tend to have a thrshold point where the recharge rate is problematic, rather than always needing that extra +1h. Saying that running the CPU at a lower clock will improve life expectancy is unsubstantiated and a total shot in the dark - chances are something else will fail long before the CPU when ran at rated clock speed.

What's most important is getting the friggin thing released, then getting it fast enough to allow for correct speed. Extra performance after that is nice (although for emulation I'd argue that it's nice more because it lets you fast forward more) but it's really too much to ask for.
 
Last edited by a moderator:
Exophase said:
GeorgyPorgy said:
Actually, optimization and efficiency is VERY important. Running the same application at a quarter of the CPU speed can save you lots of precious battery life and CPU life expectancy.

Battery life needs are extremely subjective and relative. People tend to have a thrshold point where the recharge rate is problematic, rather than always needing that extra +1h. Saying that running the CPU at a lower clock will improve life expectancy is unsubstantiated and a total shot in the dark - chances are something else will fail long before the CPU when ran at rated clock speed.

What's most important is getting the friggin thing released, then getting it fast enough to allow for correct speed. Extra performance after that is nice (although for emulation I'd argue that it's nice more because it lets you fast forward more) but it's really too much to ask for.

and its not like either one of these apps is being overclocked, lemonboy is still underclocked from the standard clock of 533.
 
Last edited by a moderator:
Exophase said:
What's most important is getting the friggin thing released
True. I really need to finish PicoDrive, my last commit is dated 2010-01-29.
Damn you, Pandora!
 
Last edited by a moderator:
GPFCE Actually doesn't run too well on the Wiz. The screen update is rife with glitches and renders slowly. I am not totally sure why but the GP2X version runs much smoother.
 
DaveC said:
GPFCE Actually doesn't run too well on the Wiz. The screen update is rife with glitches and renders slowly. I am not totally sure why but the GP2X version runs much smoother.

Everything I've played so far runs EXCELLENT and surprisingly without any screen tearing (still running fw 1.1.0), and all that terribly underclocked at 180MHz. I guess If you crank it up to 300 or so, it will simply glide. The only little problem I've noticed is lack of scaling and thin screen-duplicate stripes on either side of the screen. Otherwise, I think this emulator is on a very good track.

About pocketsnes and Lemonboy, neither can be underclocked and work good enough. pocketsnes starts to work near 50fps at about 600MHz (depends of course on the game and what's going on on the screen, and with transparencies turned ON; Most games are unplayable with them OFF) and Lemonboy has to be around 450-500MH, but to get it to run smoothly you have to nail a good 533MHZ.

Also, I was wondering whether it's possible to implement a clock-on-demand (it's called Dynamic frequency scaling, I believe)function in various applications, so that clock speed is adjusted accordingly depending on demand. It sounds strange, I know, I believe it would put too much strain on the processor...
 
Last edited by a moderator:
If GPFCE was ported by someone non-notaz then are you sure the clock frequency setting is even taking effect? Other early quick and dirty ports from GP2X had the option unimplemented. Maybe you should try to keep lowering it until things stop working fullspeed - if it has an auto frameskip option turn it off.
 
GeorgyPorgy said:
DaveC said:
GPFCE Actually doesn't run too well on the Wiz. The screen update is rife with glitches and renders slowly. I am not totally sure why but the GP2X version runs much smoother.

Everything I've played so far runs EXCELLENT and surprisingly without any screen tearing (still running fw 1.1.0), and all that terribly underclocked at 180MHz. I guess If you crank it up to 300 or so, it will simply glide. The only little problem I've noticed is lack of scaling and thin screen-duplicate stripes on either side of the screen. Otherwise, I think this emulator is on a very good track.

In unscaled mode it has horrible tearing (worse han normal)and glitches on the side of the screen. In rotate mode (tear-fix) the screen scroll is very slow and has a rippling/ crawling effect due to slow screen updating.

This was not ported by Notaz nor has he worked on it as far as I know. This was a quick port from the GP2X very early on and sadly hasn't been touched since.
 
Last edited by a moderator:
Exophase said:
If GPFCE was ported by someone non-notaz then are you sure the clock frequency setting is even taking effect? Other early quick and dirty ports from GP2X had the option unimplemented. Maybe you should try to keep lowering it until things stop working fullspeed - if it has an auto frameskip option turn it off.

Yes, that's true. I just noticed that the clock setting doesn't do anything. Thanks for pointing that out! What really bugs me though is that the default setting was 180MHz, which means that the GP2X was actually capable of running the emulator at that speed. What a shame that the Wiz is not as looked after...
 
Last edited by a moderator:
GeorgyPorgy said:
Exophase said:
If GPFCE was ported by someone non-notaz then are you sure the clock frequency setting is even taking effect? Other early quick and dirty ports from GP2X had the option unimplemented. Maybe you should try to keep lowering it until things stop working fullspeed - if it has an auto frameskip option turn it off.

Yes, that's true. I just noticed that the clock setting doesn't do anything. Thanks for pointing that out! What really bugs me though is that the default setting was 180MHz, which means that the GP2X was actually capable of running the emulator at that speed. What a shame that the Wiz is not as looked after...

The non-notaz was Orkie and I ;-)
Basically at the time it was to get something working with his libcastor. Trying to see I have the source....

Update: Ive added the clock settings and fixed the soft scale problem
 
Last edited by a moderator:
Pickle said:
GeorgyPorgy said:
Exophase said:
If GPFCE was ported by someone non-notaz then are you sure the clock frequency setting is even taking effect? Other early quick and dirty ports from GP2X had the option unimplemented. Maybe you should try to keep lowering it until things stop working fullspeed - if it has an auto frameskip option turn it off.

Yes, that's true. I just noticed that the clock setting doesn't do anything. Thanks for pointing that out! What really bugs me though is that the default setting was 180MHz, which means that the GP2X was actually capable of running the emulator at that speed. What a shame that the Wiz is not as looked after...

The non-notaz was Orkie and I ;-)
Basically at the time it was to get something working with his libcastor. Trying to see I have the source....

Update: Ive added the clock settings and fixed the soft scale problem

Pickle, you're simply the best! That's much better now! There's also a little problem with the volume buttons, they don't seem to affect the volume at all. So if you remember it, please do include it in your next update! Thanks a lot! I really hope you stick around and share your awesomness with us for a long time!
 
Last edited by a moderator:
GeorgyPorgy said:
Yes, that's true. I just noticed that the clock setting doesn't do anything. Thanks for pointing that out! What really bugs me though is that the default setting was 180MHz, which means that the GP2X was actually capable of running the emulator at that speed. What a shame that the Wiz is not as looked after...

GP2X performs better at 180MHz than Wiz does across the board, sometimes much better.
 
Last edited by a moderator:
Back
Top