with frame skip most games(supported) should run even smoother now.
StrmnNrmn posted this news about his Nintendo 64 Emulator for the PSP
I didn't mean to leave it quite so long since last weekend's update, but I've been working hard on a number of optmisations for R10. Oddly enough these are mostly new issues that I've found - most of them don't exist in the list of tasks I came up with a couple of weeks ago. I think that shows how much scope there is for optimising Daedalus!
Firstly, I finally managed to get Daedalus compiling with GCC's '-O3' setting. This flag turns on all of the optimisations that GCC provides. When I've tried to enable this flag in the past I've had numerous strange crashes and odd behaviour, so all releases of Daedalus to date have been compiled with -O1.
I updated my local installation of the PSPSDK last weekend and decided to try the -O3 setting again. I was pleased to find that Daedalus ran without crashing, but there was still some odd behaviour which I eventually tracked down to my use of the famous InvSqrt function. You can read a bit more about my findings on the pspdev forums.
Enabling -O3 tends to slightly increase the code size (the EBOOT.PBP has increased from around 850KB to 900KB), but the speedup is quite noticable - my estimate is that Daedalus runs around 5% faster with -O3 over -O1.
As a result of the thread I started on the pspdev forums, hlide and Raphael both came up with some great suggestions for how I could optimise my use of the VFPU.
When I originally wrote the VFPU code for TnL and clipping there were still many undocumented/unsupported functions. A few months down the line and hlide and co have discovered a couple of instructions which are perfect for my needs - namely vuc2i and vc2i. These two functions take a 32-bit value comprising of 4 (un)signed 8-bit chars and unpack them into a vector of 4 32-bit fixed point numbers. It turns out that these instructions are perfect for converting the N64's packed colour and normal values into a format I can use in the VFPU code.
The various VFPU tweaks I've made have given Daedalus another 5% or so speedup.
The final set of changes I've been working on this week have been to do with how I handle certain blend modes. Some of the N64 blend modes are too complex for the PSP to deal with precisely, so I have a large table of 'override' blend modes which allow me to make as good an approximation of the N64 mode as possible. It turned out that looking up these blend modes was very expensive, so I've rewritten how this is handled to make it more efficient. The end result is another small speedup.
Overall these three changes give a combined 10-15% speedup on the various games I've tested, although there are roms that lie outside this range (some show an even greater speedup while others are more or less unaffected by the changes).
There's still quite a lot more in the way of optimisations that I want to get in for Daedalus R10 (mostly stuff I mentioned earlier) so hopefully these numbers will improve even further over the next couple of weeks.
-StrmnNrmn
with frame skip most games(supported) should run even smoother now.
Awsome! Speedups are always great! R9 was released on my birthday. It was a great present.![]()
I was asked to memorise what I did not understand; and, my memory being so good, it refused to be insulted in that manner. ~Aleister Crowley (1875-1947)
more good newz, that was a good read and the frame skip that came 2day is cool and enough to keep us on our toes, ive thought this before why doesnt the n64 have frame skip mode? because most emulators do for the psp, snes etc
daedalus does have frameskip. R9 was supposed to be released with it but then he decided to release it in R10, then like a week or 2 ago frameskip was released/leaked. then MRShizzy just noticed that it was released and he thought that he was first to find it. lmao. still give props to him for bringing it up again, otherwise i wouldnt have been playing zelda all day today.
i cannot wait for R10. !!
lol dude no i mean in previous n64 emulators i thought about why hasnt it got frame skip? like most emulators do but anyway yea i cant wait for R10 now the speed is getting there id like to see more roms playable, goldeneye and res 2!!!!!!!!!!!!!! it doesnt work for the psx eboot even when i converted res 2 game saves it freezes in certain doors plus the n64 rom is only like 70mb
EDIT: plus the n64 has better graphics than the psx![]()
This is definately going to reach full speed in the future for at least a couple of games. I just hope Strmnnrmn keeps with it because his dropout would be the only thing stopping this.
Great to see Strmmmn is finding optomizations in his emulator, I still hope we can see signifigant speed ups, because games like Zelda Ocarina Of Time really need them, and I really hope he gets his emulator involved with using the PSP Media Engine in some way, by iether moving the sound over to it, or doing Exophases's suggestion, and running the main N64 process on it, iether way it should definently increase the speed when sound is enabled.
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks