Page 1 of 4 1234 LastLast
Results 1 to 10 of 40

Thread: Daedalus R10 Optimisation Progress - N64 Emu for PSP News

                  
   
  1. #1
    Won Hung Lo wraggster's Avatar
    Join Date
    Apr 2003
    Location
    Nottingham, England
    Age
    52
    Posts
    139,922
    Blog Entries
    3209
    Rep Power
    50

    psp Daedalus R10 Optimisation Progress - N64 Emu for PSP News

    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

  2. #2
    DS User
    Join Date
    Sep 2006
    Posts
    238
    Rep Power
    66

    Default

    with frame skip most games(supported) should run even smoother now.

  3. #3
    DCEmu Newsposter BelmontSlayer's Avatar
    Join Date
    May 2006
    Location
    USA
    Age
    37
    Posts
    384
    Rep Power
    0

    Default

    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)

  4. #4
    DCEmu Regular
    Join Date
    Jan 2006
    Location
    OREGONNNN
    Posts
    325
    Rep Power
    70

    Default

    yay. speed rulzz!

  5. #5
    DCEmu Regular
    Join Date
    Jul 2006
    Location
    In your mothers bed...
    Age
    38
    Posts
    360
    Rep Power
    0

    Default

    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

  6. #6
    PSP User xg917's Avatar
    Join Date
    Nov 2006
    Location
    In the middle of nowhere, FL
    Age
    32
    Posts
    2,131
    Rep Power
    76

    Default

    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. !!

  7. #7
    DCEmu Regular
    Join Date
    Jul 2006
    Location
    In your mothers bed...
    Age
    38
    Posts
    360
    Rep Power
    0

    Default

    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

  8. #8
    DCEmu Old Pro mavsman4457's Avatar
    Join Date
    Mar 2006
    Location
    East Coast, USA
    Posts
    1,278
    Rep Power
    72

    Default

    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.

  9. #9
    PSP User alucard001's Avatar
    Join Date
    Mar 2006
    Location
    look to your left
    Posts
    167
    Rep Power
    67

    Default

    freaking incredible

  10. #10
    DCEmu Old Pro pkmaximum's Avatar
    Join Date
    Jul 2005
    Posts
    1,055
    Rep Power
    74

    Default

    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.

Page 1 of 4 1234 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •