$ patch -p0 < opt.diff
patching file src/cpu/core_dyn_x86/risc_x86.h'
patching file
src/gui/render_scalers.cpp'
patching file src/gui/render_templates.h'
patching file
src/hardware/gus.cpp'
patching file src/hardware/mpu401.cpp'
patching file
src/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.
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.
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".
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.