
If flamegraphs with FluidSynth integrated will look similar to graphs when game is playing music via CD-DA emulation - that's good.

Dosbox sf2 files how to#
(The thing I'm not sure about is how to be 100% sure flamegraph does not include child threads - but for CD-DA this doesn't seem to be a problem). I need to describe somewhere how to interpret the graph, but overall: there will definitely be a huge plateau of unrecognized stacks (that's dynrec-generated CPU emulation, we're not interested in that) and a tower, that can be clearly recognized as main dosbox "Normal" loop narrow towers on top of normal loop are ok - plateaus on top of normal loop are bottlenecks. Resulting SVG to be opened in the browser (it has js to allow for easier browsing and filtering the graph). ~/src/FlameGraph/ out.perf-folded > flamegraph-game-test-description.svg.sudo perf script | ~/src/FlameGraph/ > out.perf-folded.sudo perf record -F 99 -p -g - sleep 120 -F 99 is probing stack at 99Hz - empirically, this seems like a good middle-ground, at least for me (we don't want too high value for probing, as it makes the results less realistic!) play the game or watch benchmark for 2 minutes.Start the benchmark / test inside dosbox, and immediately:.Start dosbox-staging, and note PID of the process.Build dosbox-staging with -g -O0 -fno-omit-frame-pointer.Without going into details, this is the way I generate flamegraphs (Linux only), before starting: the FlameGraph repo mentioned earlier needs to be cloned (for the scripts inside).
Dosbox sf2 files Patch#
Testing effort required would push 0.75.0 release too far away, so I won't merge any new MIDI-related changes before 0.75.0 release ( here are tasks planned ATM for 0.75.0).īut if someone has free cycles and wants to push this work forward: the patch is imported on a side branch already - cherry-pick f786b9f and start working on fixes to problems I listed in (2) and (4) ) If nobody will step up, I'll start work on this sometime after 0.75.0.

But the patch already kind-of handles it. Of course, integration of Fluid needs to be optional - the lib is not old nor tested enough to be propagated to all repositories, so some users will want to build without it. I still want to address (1), but after looking in details at the patch - this work can largely happen in parallel. Points (4) and (2) are just a matter of putting in some work - not a big deal. That takes out reason (5), and it's huge. Over last 1-2 months (?), point (5) stopped being a problem, fluidsynth 2.x is now available in most repositories, including brew and vcpkg.
Dosbox sf2 files install#

Without going into details… there are serious issues with DOSBox MIDI support - the demand for integrating Fluid might be caused by those issues.

