You can reach the developer tools in Settings/Tools/Developer Tools.
A large amount of obscure settings and test screens that have been added over the years as needed to help development. Here are some guides to some of them that might be useful. This section will be expanded over time.
This is due to graduate out to the normal settings soon, although, "Save new textures" kind of still belongs here so not sure what to do.
See Texture replacement and Using replacement textures for more detailed information.
When this is checked, new textures encountered while running a game will be saved to /PSP/TEXTURES/{GAME_ID}/new
under your memstick directory.
This enables replacement of textures with textures in a folder, see above.
PPSSPP has multiple CPU emulation cores built-in, and you can choose between them here.
Generally, the best choice is Dynarec (JIT), since it's the most tested one and performs very well.
Interprets instructions one by one. Very simple and slow, mostly useful for debugging the JIT.
Directly recompiles MIPS code to native code for the platform PPSSPP runs on. Performs very well and is the default choice.
Recompiles blocks of MIPS instructions into a specially designed "intermediate representation", which is faster to interpret than directly interpreting raw MIPS instructions. It also runs some optimization passes on this intermediate representation so it can often reduce the raw amount of instructions to interpret, compared to the regular interpreter.
This takes the output from the IR interpreter and recompiles into native code. Theoretically, and also in practice most of the time, this can generate better code and thus runs faster than the Dynarec (JIT). However, it's not as well tested.
Lets you selectively enable/disable different parts of the JIT. Useful for debugging, but checking these boxes will only make things slower, so not recommended for general use (like most of the things in developer tools).
This makes a "DevMenu" button show up during gameplay, which provides direct access to a bunch of handy tools. It's also the only way to access the JIT block viewer and the shader viewer.
Does what it says on the tin.
Not generally useful.
Lets you choose one of a variety of overlays that shows various shows realtime information which can be useful for debugging games. It is primarily a developer option.
This turns on and off multi-threaded rendering when using the Vulkan backend. Turning it off will generally lose you some performance. In reality, this is only useful for debugging.
Shows a screen that tests some obscure state combinations that have been problematic in the past. Most modern phones pass these tests with flying colors.
Leave this on.
A set of tests for different graphics features, in the form of downloadable frame dumps. This is not meant for end-users.
Interactive test of various aspects of input.
Starts up a server that lets you connect to PPSSPP via websockets to debug things programmatically. This is very sparsely documented so far.
Lets you globally turn off on-screen notification. Not a good idea to turn off.
Globally turns on/off all logging.
Lets you turn on and off logging for different sections of the emulator, and filter by level.
Whether to write some stats to the log from time to time.
Not generally useful.
There's a tradeoff to make between generating many specialized shaders vs fewer more general shaders - the former perform better on older hardware. PPSSPP will autodetect the best option, but this allows you to override the choice.
Experimental, don't enable.