cancel
Showing results for 
Search instead for 
Did you mean: 

GPU gets throttled down on S6 for no apparent reason (not temperature related)

GeorgeCristianT
Explorer
Hi,

For some reason, when we run our game on a Galaxy S6, the GPU frequency drops in a matter of minutes down to 266MHZ, causing our FPS to drop to 40.

07-03 15:42:13.541 27408 27501 I VrApi   : FPS=60,Prd=33ms,Tear=0,Early=0,Stale=60,VSnc=1,Lat=0,CPU4/GPU=1/3,900/420MHz,OC=FF,TA=F0/0/F0/F0,SP=F/N/F/F,Mem=1026MHz,Free=583MB,PSM=0,PLS=0,Temp=27.8C/30.0C

07-03 15:42:18.536 27408 27501 I VrApi   : FPS=40,Prd=33ms,Tear=0,Early=0,Stale=60,VSnc=1,Lat=0,CPU4/GPU=1/3,900/266MHz,OC=FF,TA=F0/0/F0/F0,SP=F/N/F/F,Mem=1026MHz,Free=582MB,PSM=0,PLS=0,Temp=27.8C/30.0C

As you can see in the logs, the temperature doesn't seem to change and is not even high enough to warrant a drop in GPU frequency. Also, there is no thermal warning in the logs or on-screen. Or any other type of warning for that matter.

We don't perform any changes on the throttling levels during runtime. They remain constant at CPU/GPU = 1/3

Any idea what might be causing this issue ? 

Thank you !
2 REPLIES 2

GeorgeCristianT
Explorer
I'm using Unreal Engine 4.16

Below is the unfiltered logcat output for when this happens. Notice the line with the "limitGPUFreq:: freq = 266"

07-03 16:14:16.109 29823 29919 I VrApi   : FPS=60,Prd=33ms,Tear=0,Early=0,Stale=60,VSnc=1,Lat=0,CPU4/GPU=1/3,900/420MHz,OC=FF,TA=F0/0/F0/F0,SP=F/N/F/F,Mem=1026MHz,Free=501MB,PSM=0,PLS=0,Temp=30.5C/30.0C

07-03 16:14:16.696  3663  8673 D SSRM:l  : SIOP:: AP = 500, PST = 493 (W:14), CP = 321, CUR = -494, LCD = 12

07-03 16:14:16.697  3663  8673 D s       : limitCPUFreq:: freq = 1300000

07-03 16:14:16.697  3663  8673 D CustomFrequencyManagerService: releaseDVFSLockLocked : Getting Lock type frm List : DVFS_MAX_LIMIT  frequency : 1500000  uid : 1000  pid : 3663  tag : SIOP_ARM_MAX@33

07-03 16:14:16.698  3663  8673 D CustomFrequencyManagerService: acquireDVFSLockLocked : type : DVFS_MAX_LIMIT  frequency : 1300000  uid : 1000  pid : 3663  pkgName : SIOP_ARM_MAX@33

07-03 16:14:16.699  3663  8673 D s       : limitGPUFreq:: freq = 266

07-03 16:14:16.700  3663  8673 D CustomFrequencyManagerService: FrequencyrequestList.getNextMinGPURequest, index: 1

07-03 16:14:16.709  3663  8673 D TelephonyManager: getAllCellInfo : Caller (PID / UID / TID): 3663 / 1000 / 8673

07-03 16:14:17.111 29823 29919 I VrApi   : FPS=60,Prd=33ms,Tear=0,Early=0,Stale=60,VSnc=1,Lat=0,CPU4/GPU=1/3,900/266MHz,OC=FF,TA=F0/0/F0/F0,SP=F/N/F/F,Mem=836MHz,Free=501MB,PSM=0,PLS=0,Temp=30.5C/30.0C

GeorgeCristianT
Explorer
After looking a bit more into this, It appears that the issue only happens in Developer Mode ( the one from GearVR Services that allows you to run the VR app without docking the phone in the headset ). When the phone is placed in the headset, everything seems fine. I've notice the GPU getting throttled in the same manner only when I take off the headset and it detects that it was UnMounted ( maybe it's somehow related ). Cheers !