[Galaxy Y GT-S5360 Android Development] gadgetroid:
Hello there.

What you just said is...uh...wrong on many levels. Now, I don't claim to be an expert on this subject, but what I do know, and understand, tell me it's wrong. First off, a governor is a set of rules written by developers and they can go back to maybe even when Steve Wozniak was still developing for Apple Inc. Generally, when a manufacturer designs a device and chooses the components to be used in it, he picks components that are more than what he intends to use in the final product. An example: overclocking a device. If the manufacturer had the maximum set to, say, 800 MHz, and you compile a kernel that manages to clock it at 1 GHz, then you know that 800 isn't what the CPU has to offer you. The manufacturer always leaves room for more. While he does know that he could make a more responsive and better device by overclocking the CPU, he won't do it, because if he does, and the chip gets fried (there are a lot of chances), then his company will lose it's profits as people go for a more stable device.

When Maroc-OS compiled a kernel and announced that he could overclock it to 1.2 GHz, the news was met with much trepidation. Obviously, 1.2 GHz is what the BCM21553 has to offer us. What the performance governor actually does though, is that it switches to the maximum frequency that the kernel has to to offer when there is any activity. It goes on, as long as there are activities (i.e., you interact with the device) and when the device goes into a state of (deep) sleep, it goes back to the minimum that the kernel has to offer (or what is set by the kernel dev in the governor rules). 800 MHz is not the last frequency that a BCM21553 chip can go to, and continuously running it at this rate will not fry it.

BCM21553, on the other hand, is just an OnDemand(x) governor that manufacturers include as the default governor on the devices they manufacture. What this does is basically that it jumps to a higher frequency when there is a need for it. It jumps back to a lower one when the activity has reduced or if there is no load on the CPU. This is obviously not for power users. So, stating that running it at 800 MHz all the time will fry your device is wrong when BCM21553 is capable of doing the same thing.

Not really true. Lets look at an example. You know how the human eye works? The cornea focuses the incoming light, the pupil contracts or expands depending on the intensity of the incoming light, the lens adjust accordingly depending on the distance that you're trying to look at and finally, the light hits the retina, where the image is ultimately formed. There are light sensitive cells called rods and cones that make up the surface of the retina, and when light falls on these, it gets converted into an electrical signal that gets carried to the brain to interpret properly.

Now, you may be wondering why I went into detail explaining biology (or physics) on a development thread? Well, the answer is simple. The phone is more similar to the functioning of the human eye than you can imagine.

The brain is like the CPU, the rods and cones or the retina are like the GPU. On our stock 2.3.6 ROMs, what happens is that the CPU handles all (or most) of the rendering. So, what you get is a low quality, full performance phone. On CM7, everything depends on the GPU to be rendered, and when it cannot render something, that is what causes the glitches. CPU is almost of no matter here. It does not matter how fast the CPU is able to process something and how fast it can give the correct inputs, but how fast the GPU can render. And ATM, that's something we can't say.

So, no, it does not matter which governor you use, it will not help with the flickering. I repeat!

Greetings,

gadgetroid