On the PSP there's a plugin called CWCheat which includes this function (it's also a cheat engine). It monitors cpu load and decides whether to underclock, overclock, or stay put. It includes an .ini file which can be tweaked to the user's preferences.
With it enabled, 2D games tend to run in the low 100mhz range (some even in the 50-66mhz range), while 3D games tend to run 200mhz and above. That's a pretty significant power savings as PSP games default between 222mhz and 333mhz, while the built in PS1 emulator defaults at 333mhz.
The benefit is that it saves battery life without forcing the user to memorize clock speeds to apply manually for every single game. Perhaps the savings wouldn't be as dramatic on homebrew devices, but it's a pretty nice feature to have nonetheless.
With it enabled, 2D games tend to run in the low 100mhz range (some even in the 50-66mhz range), while 3D games tend to run 200mhz and above. That's a pretty significant power savings as PSP games default between 222mhz and 333mhz, while the built in PS1 emulator defaults at 333mhz.
The benefit is that it saves battery life without forcing the user to memorize clock speeds to apply manually for every single game. Perhaps the savings wouldn't be as dramatic on homebrew devices, but it's a pretty nice feature to have nonetheless.