[Nexus 4 Original Android Development] Hanny:
r191 vs r192 Gaming Test

Hotplug Threshold 60

20000 timer_rate (25000 timer_rate = battery, 20000 = gaming)

1134 Input Boost Frequency

No per-app power modes

In this test I have used a range of games from ultra-light to the heaviest (and the dumbest) to see whether the new GPU load calculation is applying even it is not some wow 3D graphics or even on a stupid coded game (yes, GTA) that doesnt know how to utilize CPUs.

Also, in r191 and before, most 3D games on my phone has to have their own per-app power modes set at hotplug threshold 10 (and different input-boost freq) to ensure a 4-core smooth gameplay. In this test all per-app power modes were deleted and the r191 results is expected to have lower FPS than my regular setup.

1. Ultra-light game "10 Bullets" with retro 2D graphics

r191

Observable FPS range: 55-62

Cores: Constantly 2

r192

Observable FPS range: Around 60

Cores: Constantly 4

Even after game over and resting the game there, there are some light raining graphics (2D in retro designed blocks) and the cores still stay at 4

Light game "Temple Run 2"

r191

Observable FPS range: 56-61

Cores: Mostly 2

r192

Observable FPS range: 56-61

Cores: Constantly 4

Mid-range 3D game "Beach Buggy Blitz"

r191

Average FPS range: 40-45, but with some momentary, observable 0.5 sec lags at FPS 17-2X

Cores: Mostly 3 | 4th occasionally up for 15 sec | 3rd occasionally down for 2 sec

r192

Average FPS range: 40-45, much more stable momentary FPS range at never seeing 1X or 2X, i.e. all momentary lags are non-existent

Cores: At the menu before playing, it goes from 2-4, not flashing but staying at each for a while

In race, 4 cores are on, but 4th core is not so stably up (as seen in the graphs), it might occasionally go down for a while and go back up, however this did not affect the smooth gameplay

Mid-range 3D game, 2nd generation "Riptide GP 2"

r191

Average FPS range: 33-34

Cores: Mostly 3

r192

Average FPS range: 33-34

Cores: Constantly 4 in game

At the welcome screen, it is also constantly 4

Heavy game "GTA VC Heavy Road"

r191

Average FPS range: 29-30

Cores: Mostly 2

r192

Average FPS range: 29-31

Cores: Constantly 4

yeah this game is coded stupidly and it is very obvious that it doesn't know how to utilize the cpu frequencies and all of them always stay at franco's touch boost freq which is basically what required to maintain this game's smoothness. To make the fps go higher I simply have to modify the touch boost freq to 1512:

Side notes

It normally require ~10 sec after entering a game for the GPU load calculation to fully come into effect and the cores change from their default behaviour to constantly 4. Also, after quitting the games, the cores immediately went back to hotplug modes. Only 2 cores are working in my homescreen and scrolling through app list to the next game.

For whom concerning about numerical FPS not having a big improvement, it has been discovered before that timer_rate and CPU frequencies are the major components directly contributing to the high/low level of FPS, if that is all what you care about. The cores, or stability of cores online, contribute to the stability of FPS range which is also of paramount importance, because even with the same average FPS, momentary lag like Beach Buggy Blitz in default r191 setup without power modes, is observable and does affect gameplay. Having a stabler FPS range with constant 4 cores will at the end make you feel smoother when the FPS meter is not present. That is the reason why the numerical FPS did not improve a lot over r191 and r192 but we can feel improvements.

- so as the GPU load functionality is confirmed to be working well, if franco adds another call to lower the timer_rate based on GPU load then it will be another boost to the numerical part!

From the results, the GPU calculation is working well even at ultra-light games so the kernel now ensures a smooth gameplay out-of-the-box. Can't think of side effects at the moment - waiting for others to comment. But for me a lot of power-modes (and efforts to create them) can be eliminated and I will only make for stupid games like GTA.

So all in all this is a success :) Not sure why the 4th core of Beach Buggy (is it too optimized for 4 cores?) in r192 is not stably up but it didnt affect gameplay - its up to franco whether to look at it or not

and a huge thanks :D we have been talking about GPU load since 100 nightlies ago!