You may recall that not too long ago, CyanogenMod implemented per-app performance profiles in its recent builds. While many were quick to criticize the move because certain benchmarks were automatically included in the high performance whitelist, performance profiles can be legitimately useful when used wisely and given adequate user control and transparency. After all, you can probably stand to limit your maximum CPU speed or number of active cores when reading an eBook.

Obviously, not everyone runs CyanogenMod ROM. But luckily, there are certain tools available to bring performance profiles to users of all ROMs. Performance Profiles by XDA Recognized Developer h0rn3t is one such tool, and it uses the magic of Xposed Framework to do so.

Performance Profiles, as its name suggests, allows users to set per-app performance parameters. This includes being able to modify minimum and maximum CPU frequencies (including multicore control), governor, I/O scheduler, GPU frequency, NICE priority, and so on. You're able to set profiles for these parameters for when your screen is off, when you're in your lock screen, or when you're in certain apps. Apps are detected through activities, so this works when an application has at least one visible activity on screen.

If you've been looking for a way to implement per-app performance profiles on your device, head over to the module thread to give this a shot.