Wednesday, March 21, 2007

Frameskip

A couple of people have been commenting about the mysterious frameskip version of Daedalus R9 which appeared a short while ago. I'm not going to link to it because I can't verify where it came from. That said, I've not checked my email for a week so maybe the author has emailed me about it :)

Anyway, it just so happens that I implemented frameskip in R10 on Sunday, so expect this to be a supported feature in the next official release. I had been planning to add this to R9, but I forgot :) It's no big deal - it's about 20 lines of code.

It does give a slight speedup, but not always as much as you'd expect. For instance, skipping every other frame won't double the framerate, as not all the time is spent rendering. Paradoxically, it tends to have more of an effect on roms that are already running fairly fast. Hopefully for some roms it will make the different between them being barely playable and playable though.

There are a few other things people have been asking about which I will implement for R10 too:


  • A configurable deadzone for the stick
  • A configurable framerate limiter


-StrmnNrmn

17 comments:

Alex said...

Times like these, when I'm reading your blog, I wish I hadn't decided to go for a BFA in Painting. Rather, I wish I could have followed along in something like what you're doing, something that would be a great extra hobby, and at the same time be a decent financial backing. Of course, work would come first, but I don't need to say that. :)

Jody said...

Thanks for planning on a frameskip for R10. Thanks more for creating this emulator for PSP. I'm having a great time with it.

Jody said...

I had an idea of a configurable framerate limiter, but I just never said anything. I thought it would be impossible, but I guess it has come to your attention. :o

Morgan said...

Sounds amazing StrmnNrmn, and I'm extremly glad your updating us twice in two days. I really like the two other features too, Mario moves slightly sometimes and this should make it alot better. The speed limit feature is another one I'm very happy about because I know with frameskip on sometimes gives the emulator too much speed. It's also very great to know your limiting speed, I would have never thought of it 6 months ago. Thanks for everything R10 is going to be GREAT!

j said...

Yes, frameskip is for cutting out frames in the faster games.

Like in mario kart, I felt that the speed was fine, but there were too many frames and it felt too smooth, whereas cutting out needless frames does help speed it up and give a better feel and make the controls more responsive.

j said...

A configurable deadzone for the stick

Ah! That's awesome! I thought it was just me!

Also, what would be good, is to be able to save default settings in either your global, which overrides your individual game settings, and your individual game settings that can be turned on to override the global ones. This comes in handy for when you constantly log into daedulus in want to load a game without having to reset all the audio config's and frameskip stuff.

Tyler said...

How about the use of gcc 4.1?
psptoolchain support gcc-4.1(but need to edit toolchain.sh).

originally posted by Nazo

wally*won_kenobie said...

Mate,

You explain things extremely well, it makes heaps of sense!!

Thanks for posting more news, its appreciated :)


Good on ya, looking forward to the next post

KemenAran said...

I don't have a PSP, but I check your blog everyday to follow the progress and for some new technical informations. Thanks for explaining how Daedalus works, and keep up the good work :)

Terry said...

Great stuff StrmnNrmn! I'm deliberately ignoring the unofficial R9 to wait for your official build. Dont give up!!

Antonio said...

Ive written here many times, and I always thank you for this great emulator, it wasnt going to be different this time, THANKS!! These new improvements to the emulator are fantastic and I think they will give the program that very nice feeling it needs to make people play it, youll get lots of people asking for more!!!! Congratulations and keep up the good work!

El3M3nT123 said...

I am very impressed with your work and wish I could help but I am just learning the basics of coding in c++. By the way, have you tried to cut down how many lines you emulate like to everyother line? I dont know much but I am Just trying to help. Keep up the good work.

Brettlovespsp said...

thanks man the little details in r10 are gonna make it easyier in the long run. ty for this! ur like a psp god!!!

Xabier said...

HEY ST i have another idea for R10

maybe you can allow us to set up the controls for daedalus. like in gpsp and nesterj and rin. we can set controls in those games.
in daedalus all we have are presets. do you think that you can add this for R10.

Danny said...

hey strmnrmn :)

i signed up to gmail specifically so i could post on your blog :D

first of all i have to say what an amazing technical achivement daedalus is.

Truly outstanding work.

My other question is,

I used daedalus as my n64 emulator on windows and psp. but have recently ditched windows in favour of ubuntu (edgy) linux.

I find it to be superiour, but have noticed the lack of stable n64 emulators.

Mupen froze my pc about 10 times when adjusting the graphics plugins (yes my gfx card drivers are installed) and would like to know if you ever made a linux build of daedalus.

If you have or intend to , im sure that would delight both me and the linux community to no end.

It would be cool to have daedalus on my linux pc and my psp.

Thanks for all your devoted hard work on this emulator :)

MikE said...

Nice, nice.. You shouldn't limit the amount of frame skip like that guy did in his modified release (well limit it to 100 I guess).I am hungry for daedalus R10 :D

David said...

It's great work your doing something no-one has manage to tackle to this extent apart from psmonkey but you have suprised quite alot of people on how well you code and how you've managed things. I think though in the future when the emulator is at a mature stage it would ease the load on you to implement a plugin system which would allow other people to contribute to the functionality of the emulator like plugins for graphics or sound or anything really, one of the things i found good about the Project64 project was that they implemented a plugin system to help distribute the work load etc and in the end this led to improved compatibilty, speed, fixes, addons and a wider community etc.

But i cant wait to finaly play Zelda Ocarina of time and be able to save my progress. Superb job, i look forward to seeing more of your work.