For many people, the EVO is an excellent phone, but extremely weak battery life is a huge detractor. Now, however, always-helpful user Pingpongboss has posted some instructions over at XDA-Devs for how to use the SetCPU app to significantly increase battery life. How significantly? He estimates that he could get 64 hrs with the screen off on a full charge. Pretty impressive stuff. Before and After graphs:

The key is disabling Perflock – a bit of code by HTC that keeps the CPU running at a set speed, regardless of usage. By disabling this and setting custom profiles, the CPU can underclock when its use is lower. As Pingpongboss points out, some ROMs (such as Fresh) already do this, so if you’re running a custom ROM, check first.

His instructions:

Know what you're doing? Short version: Get latest SetCPU (version at least 2.0.0) and use Menu -> Perflock Disabler in the Main tab to enable underclocking.


Don't know what I'm talking about? Good, follow this tutorial:
Prereqs:

  • You need to have ROOT. Unrevoked root method is confirmed to work, and so is Toast's root method. Usually I wouldn't recommend using Unrevoked, but it's just so fast to set up, and perfect for those who have no clue what ROOT means.
  • Buy SetCPU from the market, or download it from XDA forums for free. Please support the developer of this incredible app! The version must be at least 2.0.0
  • Be on the STOCK kernel. If you're on a custom kernel, chances are that perflock has already been disabled, and you won't need this tutorial to underclock. Some custom ROMs come with the stock kernel (like Fresh 0.5.3) and some don't (like Baked Snack .9.6)


Alright, got the prereqs down? Lets start this.

HOWTO:

  1. Open SetCPU and give it root permissions as necessary. As a control, go into the Info tab and do the Long Bench a few times. You should get around 1000ms.
  2. Go to the Main tab, hit MENU, hit Perflock Disabler (read the warning!), and hit Disable Perflock Beta: May crash!
  3. It will work for a while, and then say it's successful. You can then click the X on the top right to exit the Perflock Disabler.
  4. Go into the Main tab and drag Max: all the way down to 245000 (245Mhz). Make sure the green xxx max xxx min label above the sliders show 245 for both and also disable any Profiles you've set. Go to Info tab, then hit Long Bench again. This time you'll get something ridiculous like 5000ms, meaning that the Perflock Disabler has worked!
  5. Change your settings Profile tab to something similar to my settings. You can mess around with the Battery < xx% profiles to fit your needs. Your exact Profile priorities do not matter, it's only important that some have HIGHER priority than others. On the Main tab, set Max all the way to the right (998400) and Min all the way to the left (245000), Scaling to ondemand, and check Set on Boot. Do not check Set on Boot yet if you're the super careful kind. You can check it later when you've tested that your phone isn't crashing

Hit up the source link to see the settings he uses, the questions people have had, and the answers Ping has given. He’s great about checking the thread and answering questions, so don’t hesitate to ask if you take the dive but have any issues.

[Source: XDA-Devs]