Here is how to make a profiler-guided build (Please note that this is not available in the Windows 'Express' Editions of MSVC):
rightclick the project and pick profiler-guided optimization > instrument. Once it is done go back to the menu and pick "run instrumented/optimized application". You can repeat this as many times as you need in order to do the profiling runs.
The idea here is to exercise every different part of the emulator at least once. Once is all it takes. But be aware that exercising each code path in the GPU, for example, would take lots of 2d games. (one day I would like to make a list of games to do in order to cover each part, but that hasnt been done yet).
When you are done, go back to the menu and pick "optimize". The standard location for the output .exe will contain the profiler-guided build. This build should run a few fps faster.
Here are the list of steps to be followed as use cases while crafting a profiler-guided-optimized build.
- Run SPP menus and ingame (tests arm cpu, 2d)
- run with and without sound; toggle adpcm caching
- save and load
- use each tool
- toggle both gpus
- make sure hud shows some stuff (especially fps and frame counter)
- load a movie
- run hulk (tests thumb cpu, 3d)
- switch to each 3d core (toggle the soft rasterizer interpolation option)
- scale and rotate window each way
- load ff4, show worldmap and menu (more 3d and 2d tests)
- dump an avi
It is generally best to keep savestates sprinkled around games in each game mode so that you can quickly exercise them all. Only a frame or two is necessary to exercise the mode.
When you're done, you may want to upx the executable to cut its size down and alert dumbasses virus scanners. just use "upx -9 desmume.exe".