[HTC EVO 3D] mnomaanw:
4. Q&A and TWEAKS​

Q&A on parameters and factors that control the performance, throughput and battery-life delivered by dual-core CPU, and some CPU tweaks

Q. "What is the significance of bus frequency?"

A. Bus speed at its simplest form determines how fast the data should travel to and from memory. Memory throughput is directly proportional to bus frequency. In tasks that includes small amount of work on every element in a data sets, lower bus speed means longer the CPU has to wait for data to arrive from memory. Because, CPU spends only little time on each of these elements, and a slow bus cannot catch-up.

Advanced Micro-controller Bus Architecture (AMBA) is used as the on-chip bus in system-on-a-chip designs, like our device.

Q. "What is modifying bus frequency? How do I do it? Advantages?"

A. Stock behavior is dynamic bus frequency scaling, where in operating bus speed is dynamically calculated for each CPU frequency depending on the application/process’s requirement. We can modify this behavior by setting static bus frequency scaling, specifying at what bus speed should each CPU frequency operate.

Advantages of bus frequency modification: i) Saves battery by using low bus speeds on low frequencies and ii) Prevent overheating.

Q. "Our phone CPU has two cores. How are they utilized? Are the two cores ON all the time?What else can I do to improve phone performance and save battery?"

A. The stock behavior is asynchronous where depending on the load, the second core is turned on. If the load can be handled by a single core, the second core is turned off. This behavior can be controlled by using apps like system tuner or kernel tuner etc.

Using Kernel tuner from pedja1 in GSM section here-> http://xdaforums.com/showthread.php?t=1719934

You can:

1.Fully Control the CPU and its settings. .

Single Core Mode (turn off second core in settings): Irrespective of the load, only first core is used always. This can lead to increased battery, but reduced performance.

Dual Core Mode: Irrespective of low loads, both the cores are always active. Increased performance, but reduced battery.

2.OC/UC the 2D and 3D GPU frequencies.

Overclocking GPU:This will boost gaming performance with some extra battery drain.

Underclocking GPU:This will save battery but performance will drop.

3.Enable/Disable Vsync

VSYNC ON: This will lock the fps to that of screen refresh rate.

VSYNC OFF: This will boost FPS but on some hardware it can distort the display.

4.Changing buttons backlight: Lowering this.can save you more battery

5.Fastcharge: By enabling this your phone will charge quickly as if it is connected to AC when connected to PC

6.Change IO Scheduler: Depending on this , your phones performance will vary. Check the IO SCHEDULAR post for more info.

7.Modify SD cache size

8.Toggle Swep2Wake

This will work on both CDMA & GSM EVO 3Ds

Q. "Like governors, is there a sampling rate/interval also at which the load on CPU is checked for crossing thresholds to turn second core ON?"

A. Yes there is. But it is set at kernel level in most kernels and can not be controlled at user level. higher sampling rate could cause core 2 to kick in less often and thus save a little battery.

Q. "Sometimes the device says 'low battery' and switches itself off. But when i turn it on, there's 30% left. Why?"

A. Some heavy load conditions such as quickly reaching max frequency on full load, etc will cause the battery voltage to time below 3.3V and this is wrongly interpreted by the battery as empty.