Picodrive Speed Concerns...


cadu

Still Fresh
Joined
Aug 24, 2006
Messages
14
Well, i was quite happy with my picodrive .964 (aside from a few small annoyances, like save states and sram scattered all over the main dir, a smaller font on the file selector, and the hability to select the region) but anyway upgraded to the latest version (the final) and that had all these annoyances tackled but...i noticed quite a hit in speed, particularly, games that used to run at "16 bit accurate" heavily underclocked and locked at 60fps were showing 52fps...54...

i had Sonic3 & Knuckles running 60fps locked at 190mhz with 22050hz stereo sound (without dual core, my point is play a lot)

now the questions to the gp2x community and people involved:

1) has anyone noticed the same thing as me?

2) the latest version has all the SegaCD support added, but the (disabled earlier) optimizations were brought back as the author noted that the emulator was pretty much stable, still why the difference in speed?

3) it's possible to backport the small usability fixes from the latest (region selection, font in fileselector and separate directories, etc...) to the .964 version (the latest without segacd support)? That would make the best megadrive (no segacd) emulator out there, without annoyances.

3.1) if not, what should convice me to use the latest version (i don't play any segacd games at all, but if the latest version has proved higher compatibility with normal megadrive games , that would be already a reason)


Thanks in advance! i'm a huge fan of PicoDrive and am only asking all this to the betterment of this already excellent emulator, and sorry for writing to much and branching too much on questions, guess i'm talkactive :)


ps : i KNOW this emulator was "finalized" , but here goes my suggestion for a HUGE usability boost:

PicoDrive and others are already allowing you to change settings based on individual games, which is nice, but we gp2xers carry our handhelds to a bunch of places, and use them in a bunch of situtations, ... my suggestion is :

the creation of profiles for configuration files!

the emulator could be put on 'Profile A' or 'Profile B' mode, or 'Main' or 'Alternate' ; on "Main mode", it would load the individual game configuration file as normal, and on "Alternate" mode it could load the .alternate.cfg file....

this creates a host of possibilities :

1) games with sound , and alternate profile with configs without sound (places where sound can't be used, and you wouldn't be wasting cycles ....more battery life)

2) main profile with everything turned on , and alternate profile without sound, extremely low clock, 8 bits (for maximum battery life in "extreme" situations, like forgetting to carry another battery pack on that boring trip, ahaha)

3) ad infinitum...!
 
hmm, i dunno. seems like a good idea, but then again, why don't you just change that in the options menu quickly? it's not too hard to just turn sound off and then go on with playing.
 
Just have a different folder with a low quality customized settings file.

I don't think I noticed a problem with the latest one, maybe something new is turned on that you haven't checked yet and it makes it go slower, like more precision.

Use Gmenu2x and have the command-line switch load your ROM directly with the best emulator.
 
CaDu said:
[...]
i noticed quite a hit in speed, particularly, games that used to run at "16 bit accurate" heavily underclocked and locked at 60fps were showing 52fps...54...

i had Sonic3 & Knuckles running 60fps locked at 190mhz with 22050hz stereo sound (without dual core, my point is play a lot)


Are you sure you use the same settings in both cases? "Accurate timing" and "accurate sprites"? Also there is no need to disable second core, it uses very little amount of power.

CaDu said:
the creation of profiles for configuration files!
Well that probably can be done easily. There will be at least one maintenance release anyway, as I recently found a bug which was glitching sound in midgame of Snatcher. 1.32 sometimes also has a little sound problem after loading a savestate (plays some stray sounds).
 
Last edited by a moderator:
here are my findings :

-- Settings (on both latest picodrive and .964 "megadrive only")

scaling: none
renderer: 16bit accurate
accurate timing: NO
accurate sprites: NO

frameskip: Auto

sound: ON
sound quality: 22050hz stereo

arm940core for sound: NO

region: USA
sram savestates: ON

gp2x clock: 190mhz

(all processors and sound generators on, of couse)
and...

craigx ram timings: ON
squidgehack: ON

----------------------------------------------------------------------

Game used: Sonic and Knuckles & Sonic 3 (W) [!] (choosed it coz it's a fairly complex game, with a lot of effects and good multichannel sound also)

i stopped at a particular point, saved a state and copied between both picodrives

results:

-- picodrive .964
----- frame counter : from 45 to 50fps
----- average (value that most appeared in the given time) : ~48fps

-- picodrive final (megadrive/segacd)
----- frame counter : from 42 to 49fps (with ONE 50fps measurement)
----- average (value that most appeared in the given time) : ~45fps

approx. 3fps *less* in the latest version, but feels like 10fps because the game is fast-paced

ps: of course i could raise the clock and configs to the point it's locked on 60fps (indeed i did this)...but anyway the same 'bare minimum for 60fps' on .964 shows me 56..55fps on picodrive final...i only used a config set with a clock less than the needed to 60fps because this way i would be able to sample ALL values between , being sure it wouldn't hit 60fps and ruin the sampling (i wouldn't be able to get the complete range of fps variation)

hope my report will be useful for developers/someone :) i'm not criticizing in any way, get it as a dedicated user reporting (possibly useful?) data to the person that made his dream come true (an awesome mega drive emulator on my pocket):p

--> if you want this particular rom and the savestate (to test yourself and use it as a BASE to experimentations, no piracy intent here), PM me please, or if it's allowed, i can put a zip somewhere with both included and provide a link.

--------------------------------------------------------------------------------------
now, speaking of the former feature i suggested (an addition to the proposal):

ad1: if this is going to be implemented, it would be better placed on the Main screen (not on the options), this way we could start PicoDrive, change it to the profile we want (or leave it in Main, whatever) and all the games we choose will be already loaded correctly.

ad2: ....and a dumbproof rule, in case of Alternate profile being selected and NO alternate profile saved, load the main anyway... (would be nice to put a small string on the screen as the game starts, showing "Profile: Main" / "Profile: Alternate" / "Profile: Main <no alternate available>"

better yet, 2 additional command line options also "-main" "-alt" so scripters can make launchers that already launch PicoDrive on the 'silent, battery saving mode' or the 'ultra mega quick super graphics and crystal sound mode' :)

Implementing it or not, thanks in advance :)
 
Just enable the second core... it won't shorten battery life that much. Full speed with 16-bit accurate rendering and 44.1 kHz sound at 180 MHz :p
 
craigix said:
Why are you not using both cpus?
thought it would shorten battery life by much....if it can't be helped i'll do it , yeah :* but the faster the better

and a question : sorry about the ignorance (don't know nothing specifical about the gp2x soc board or arm processor) : wouldn't letting the second core sleep do a huge difference in battery life?

in x86 world there's a good diference between processor sleeping and processor running but executing NOPs, also not every instruction has the same 'cost' (consumption). ...that's why i thought these would apply to arm as well...

thanks anyway :)
 
Last edited by a moderator:
It was thought that using the second core would be a considerable drain on the batteries. A few people actually did tests (someone did a drainage breakdown on what saps away at the batteries with some pretty figures)

It was realised that using the 2nd core under 200MHz is better than overclocking to get the same performance.
 
Use the second core, the speed increase is large enough to underclock anyway. Most stuff runs seemingly fullspeed at 130-140mhz for me.
 
CaDu said:
[...]
the creation of profiles for configuration files!
[...]
Uh I remembered there is an undocumented command line option "-config" which allows you to override the default configuration file name. So you should be able to create multiple links to PD to (sort of) get your profile functionality, example:
./PicoDrive.gpe -config fast.bin
./PicoDrive.gpe -config whatever.bin
 
Last edited by a moderator:
notaz said:
CaDu said:
[...]
the creation of profiles for configuration files!
[...]
Uh I remembered there is an undocumented command line option "-config" which allows you to override the default configuration file name. So you should be able to create multiple links to PD to (sort of) get your profile functionality, example:
./PicoDrive.gpe -config fast.bin
./PicoDrive.gpe -config whatever.bin



but wouldn't that just change the DEFAULT profile ?

i was thinking in something like this

"picodrive -profile Fast"

default config : default.Fast.cfg
personalized game configs : <Game Name>.Fast.cfg

essentially you would be using the profile 'string' to search for the config files

without a profile switch it would just load the default.cfg and <game name>.cfg without any name appending

i think that would be the ideal :)

you could implement it on your bugfix release for picodrive (if you're willing) :)

thanks anyway
 
Last edited by a moderator:
Back
Top