Page 1 of 3 123 LastLast
Results 1 to 10 of 25

Thread: StrmnNrmn Blog update.

                  
   
  1. #1
    DCEmu Legend shadowprophet's Avatar
    Join Date
    May 2005
    Location
    IFeedOffYourFearS
    Age
    47
    Posts
    3,102
    Rep Power
    95

    psp StrmnNrmn Blog update.


    StrmnNrmn Has made an update to his blog with interesting news! This time he talks speed, Here is what he had to say.

    Whenever I start to answer questions on the comment pages I always end up going into too much detail for a quick response and end up deciding to put up a new post instead. I hope this isn't too annoying

    In response to Plans for R6 xiringu and ukcuf16 had a couple of interesting suggestions for performance improvements.

    First up, from xiringu:
    instead of working with a 300x200 screen, work with only half height 150x200 and then display an empty line every other line to get the final 300x200.
    That's an interesting idea - it's a trick that's been used by demo coders for years to get a few extra fps. I'm not sure this is going to provide all that much of a speedup to Daedalus though The reason for this is that currently rendering only contributes a small amount to the overall cost of each frame, so even if rendering time was totally eliminated, the framerate wouldn't change much. As an example, let's take something like Zelda which currently runs at around 4 fps. At 4fps it means each frame takes 1000/4 = 250 milliseconds to render each frame, which is broken down something like this:

    CPU emulation: 200 ms
    Display list parsing: 40 ms
    Rendering: 10 ms
    Total: 200 + 40 + 10 = 250 ms (i.e. 1000/250 = 4fps)

    Assuming that we could totally eliminate the rendering time, this would now look like:

    CPU emulation: 200 ms
    Display list parsing: 40 ms
    Rendering: 0 ms (no cost)
    Total: 200 + 40 = 240 ms (i.e. 1000/240 = 4.17fps)

    So the very best we could hope for in this case would be a .17fps improvement in the framerate

    ukcuf16 wrote:
    Just wanted to ask if there is ever going to be frame skip in later versions
    What ukcuf16 is suggesting is that the emulator renders one frame, then skips the next. Alternating frames like this should halve the cost of rendering, at the cost of making the framerate a little less smooth.

    Again, this is an interesting idea, but I don't really see this having much impact on the framerate as things stand at the moment. Working out the potential speedup is a little more complicated, as we have to take the average time over two frames. The numbers look something like this:

    Frame1 CPU emulation: 200 ms
    Frame1 Display list parsing: 40 ms
    Frame1 Rendering: 10 ms
    Frame2 CPU emulation: 200 ms
    Frame2 Display list parsing: 0 ms (skipped)
    Frame2 Rendering: 0 ms (skipped)
    Total: 200 + 40 + 10 + 200 = 450 ms
    Average: 450 / 2 = 225 ms (i.e. 1000/225 = 4.44fps)

    So even implementing a frame skip mechanism would only give a tiny 0.5fps speedup.

    To take this example to its ultimate conclusion, let's assume that I could somehow eliminate the entire cost of display list parsing and rendering:

    CPU emulation: 200 ms
    Display list parsing: 0 ms (no cost)
    Rendering: 0 ms (no cost)
    Total: 200 ms (i.e. 1000/200 = 5fps)

    Even if I could somehow (magically) reduce the cost of rendering to 0 milliseconds, we'd still only see a 1fps speedup. However, if I can halve the cost of CPU emulation (which is much more likely given the speedups already seen with the new dynarec engine) this is what the calculations look like:

    CPU emulation: 100 ms (now twice as fast)
    Display list parsing: 40 ms
    Rendering: 10 ms
    Total: 100 + 40 + 10 = 150 ms (i.e. 1000/150 = 6.66fps)

    At the moment I feel that there are more gains to come from optimising the CPU emulation, which is why I've been concentrating on this area recently. As the cost of CPU emulation falls relative to rendering then the ideas suggested by xiringu and ukcug16 will start to become more attractive.

    -StrmnNrmn

    Post Feedback Via Comments Below

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

    Default

    Always great to hear from Strmnnrmn.

  3. #3

    Default

    Awesome work!
    You definently know your stuff and are a great mind and asset to the community.
    Keep up the good work and thanks for the update and for explaining things in detail, while still keeping it relatively simple.

  4. #4
    DCEmu Regular BALL_SAC's Avatar
    Join Date
    Mar 2006
    Location
    Teabagin, OK
    Posts
    310
    Rep Power
    67

    Default

    At least we heard from him, and its good to hear that R6 is on the way.

  5. #5
    DCEmu Old Pro stotheamuel's Avatar
    Join Date
    Mar 2006
    Location
    FM, Texas
    Posts
    1,082
    Rep Power
    73

    Default

    everyone is saying good news? Am i misreading it.. its saying a .17-.5 fps speed increase

  6. #6
    DCEmu Legend acn010's Avatar
    Join Date
    Dec 2005
    Location
    Galaxy not far away?
    Age
    36
    Posts
    4,656
    Rep Power
    100

    Default

    yay!!
    speed is the key and the principal of everything (some things dont follow -_-'' )
    ill wait for the upcoming emu

  7. #7
    PS3 User Gizmo356's Avatar
    Join Date
    Feb 2006
    Age
    32
    Posts
    1,756
    Rep Power
    120

    Default

    yay

  8. #8

    Default

    very interesting very interesting indeed cant wait for the next update keep up the good work and ohh yes he used zelda as an example..best game ever.. lol big zelda fan cant wait till this moves at a good speed.

  9. #9
    DCEmu Newbie
    Join Date
    Jun 2006
    Posts
    22
    Rep Power
    0

    Default

    I originally posted this in the comments under strmnNormns blog


    Though legend of Zelda is not nearly as fast (fps wise) as a game such as Mario 64, which for me runs at an average of 10 fps in the castle. So if the fps breaks down the same way as in legend of Zelda then it would be something like
    100 ms to render each frame.
    Cpu emulation = 80 ms
    Display list parsing = 16 ms
    Rendering= 4 ms
    80 +16 +4 = 1000/100 = 10 fps
    Though I doubt that the CPU, display list parsing and rendering affect on fps are the same in legend of Zelda and Mario so I am most likely wrong

    So if you were to implement frame skip it would come out to something like this
    Frame 1 CPU emulation = 80 ms
    Frame 1 display list parsing= 16 ms
    Frame 1 rendering = 4 ms
    Frame 2 CPU emulation =80 ms
    Frame 2 display list parsing = 0 ms (skipped
    Frame 2 rendering = 0 ms (skipped
    Total 80 + 80 +16+4 = 180 ms
    Average 180 ms /2 = 90 ms (i.e. 1000/90 ms 11.111 fps

    1.11 is still not a lot (same percentage as loz) . But lets say you half the cost of CPU emulation to 40 ms (thanks to a compete dynarec engine) and implemented a frame skip. Lets have it skip 2 this time. So there for it would go frame. Skip. Skip. Frame. Skip. Skip
    F = frame
    F1 CPU emulation =40 ms half as fast
    F1 display list parsing = 16
    F1 rendering = 4
    F2 CPU emulation = 40 ms
    F2 display list parsing = 0 skipped
    F2 rendering = 0 skipped
    F3 CPU emulation = 40 ms
    F3 display list parsing= 0 skipped
    F3 rendering = 0 skipped
    Total= 40+40+40+16+4= 180 ms
    180/3= 60 ms 1000/60 = 16.666 fps

    My point , you are right in not implementing frame skip yet but I think in the near future Like after you finish your dynarec engine you should implement frame skip for a notable speed boost.
    This post is pretty redundant because you stated this in a nutshell in you last paragraph but 16 fps Mario sounds so sweet.
    Even if it is choppy.
    so therefore .5 fps increese sounds bad but if the dynarec engine is finshed and frameskip is implemeted there could be a big boost in fps

  10. #10
    DCEmu Newbie
    Join Date
    Jun 2006
    Posts
    22
    Rep Power
    0

    Default

    posted twice

Page 1 of 3 123 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
  •