[HTC One X] kholk:
@neuTrue

Memory frequency is a whole different thing: the bottleneck you're experiencing isn't due to insufficient bandwidth because of AMBA... it's only because of the memory itself.

If it was a bottleneck produced by the bus, then the whole system would become slow and unresponsive and that's not the case (at least from what I've understood from your words and from what I'm experiencing on my device).

About the Optimus 4X HD, I can't write a secure reply, but since yeah, the hardware is almost the same... well, the software isn't.

I'd say, for something useful for the One X to come from my 4X HD research, we would need a miracle.

Said with different words, there's 99.99% of possibility that my research on the 4X HD will be entirely useless for the One X.

@hamdir, neuTrue

Okay, I can't say that you're wrong on certain things, however, I need to tell you that you aren't totally right about GeForce ULP.

It isn't just "raw".

Take as example the Samsung Galaxy S II _and_ S III. You know which GPU is in there?

You should. Anyway, it's Mali 400MP.

Do you think it's better than GeForce ULP? If that's the case, you're entirely wrong!

Samsung (and possibly other OEMs using that GPU) is forcing 16bits on those GPUs, making them to feel better. In reality, those aren't better... just.... faster.

But faster, because of?

...Exactly what I said, 16bits.

GeForce ULP on our device is rendering at 24bits, there's no software trick to speed it up... and about THD games: did you read our GPU's specifications?

It supports all of the GL extensions of "normal" handheld GPUs, plus it supports some nVidia extensions and the possibility of hardware decoding of *.dds textures (etc).

Usually, in handheld games, textures aren't DDS but other formats, as DDS is an nVidia proprietary format.

I'm not a 3D expert at all, but I've had the possibility to play with various texture formats, and I have to say that DDS is the smartest one, mostly because it makes possible to process less data if the texture is "far from you".

THD games are faster not only because the CPU is "helping", but because of the nVidia's extensions which the GPU is capable of.

Making another point is...

...did you know that GPUs are REALLY _A LOT_ more powerful than CPUs?

That's one of the reasons why GPGPUs came out.

Making that clear prior bad replies, I know that the GPU is good only for parallel processing.

Your idea about ondemand lowering of the GPU resolution isn't fully valid and I'll explain every reason, valid and/or not really valid.

1. Surely we would gain some performance from that. Processing less pixels WILL produce a performance gain. Somehow smart thing because our panel's pixel density should permit to "show" only up to 720p.

2. I've been playing with the GPU drivers some time ago, I wanted to optimize the GPU performance, and I found some interesting things. First of all, the drivers seem to be developed by dogs.

3. On a PC with X11, you are changing the resolution on-the-fly. See how much overhead is the process producing. Now calculate in your mind: 6-core, x86_64 AMD Phenom X6 @5.2GHz, 2 seconds -- vs -- 4-core, ARM, nVidia Tegra 3 @1.6GHz, N seconds. N=? (I'll leave it to your imagination)

4. Be afraid of pointing out that there's a recalculation on various GNOME/KDE panels etc sizes, I've already calculated that, don't worry. :P

5. An on-the-fly resolution change should be supported by Android. Is it supported? I know, that's happening on HDMI, but that's not an on-the-fly CHANGE... as the HDMI parameters are already set at boot.

6. It's not possible to lower the resolution ondemand only for 3D games: that would require a call to a sysfs entry, a kernel function, or an userspace component calling a kernel function/sysfs entry. This means that games should be modified to call that component prior starting: do you feel it's possible?

7. If we modify the resolution, it will be modified on the whole system. We can't make exclusions: the applications (games, utils or any other **** running on the phone) are simply communicating with a driver that communicates with another driver (etc etc etc) that gives data to the display and makes you able to see things. Those drivers aren't making the applications aware of what's going on... it's a one-way thing: I tell you to take a pen, you won't tell me "I took it".

In conclusion:

I wonder it could be possible to change the resolution on-the-fly, but that will never be automatic: the user will have to activate the magic and that's not a problem. EternityTweak could include that thing.

It would be an heavy task for the phone (and the developer :P ) and I can't really tell you how much time will it require to switch resolution.

Also, possibly the GPU driver should be restarted while the device is working and that could create a mess, more than good results.

I don't really know how smart is that, sincerely: I'm more oriented to the bits hack that Samsung and other OEMs did on their Mali400 GPU.. both mods are making us to lose quality.

Everything you modify in there needs a compromise, unfortunately!