Menu

#103 optimization

open
nobody
None
5
2012-09-07
2005-07-19
Keith
No

$ patch -p0 < opt.diff
patching file src/cpu/core_dyn_x86/risc_x86.h' patching filesrc/gui/render_scalers.cpp'
patching file src/gui/render_templates.h' patching filesrc/hardware/gus.cpp'
patching file src/hardware/mpu401.cpp' patching filesrc/hardware/ymf262.c'

Depending, some stuff is 2x like gus handling, major speed up for some functions(gen_lea near 2x, finddynreg is 20%), etc, etc, but overall it's just 3-4% speed gain by my measuring. Note though, I'm cpu bound & finddynreg passes the normalxxx video routines as big-o once cycles pass 13-16k or so, varies depending which renderer is used, so guys with beefier cpus that can handle higher cycle settings should actually see more improvement(I know, I know, not fair that the guys with beefier systems get a bigger benefit:). There's also some code clean up so some things are more readable, simplified, reduced. Have a look-see.

Discussion

<< < 1 2 (Page 2 of 2)
  • c2woody

    c2woody - 2005-10-09

    Logged In: YES
    user_id=1304940

    No, i'm running the looping program inside dosbox and place
    a breakpoint at gen_runcode then. Tracing a few lines gets
    you into the code block.

     
  • c2woody

    c2woody - 2005-10-09

    Logged In: YES
    user_id=1304940

    With gdb, you can use "break gen_runcode", "ignore 1
    1000", "r"
    with a dosbox.conf that auto-executes the executable.
    Then trace a few lines and use "disassemble".

     
  • Keith

    Keith - 2005-10-25

    Logged In: YES
    user_id=1008467

    I have to say optimization of fast.diff is bogus.

    orig:
    if (render.frameskip.count<render.frameskip.max) {

    modified:
    if (render.frameskip.count>render.frameskip.max) {

    which I believe would make it frameskip by 1.

    so should be:
    if (render.frameskip.count>=render.frameskip.max) {

    changes gets rid of a jump but the big speed up would have
    to be from the frameskip.

     
<< < 1 2 (Page 2 of 2)

Log in to post a comment.