cancel
Showing results for 
Search instead for 
Did you mean: 

Large performance difference between S5 devkit and Note4 kit

JonnyClangers
Honored Guest
We've just received our Note 4 phone+hmd, with what I assume is identical to the actual consumer device. Getting our game working on it was smooth, but we're seeing a significant performance different with an identical build. On the S5 we were running at a solid 60fps, but on the Note 4 we're usually seeing it run at ~45fps, dropping to ~38fps in busier scenes. Is this normal? Should the two be roughly equivalent in performance or is one more powerful than the other?

This is a Unity project, and currently using the 0.4.1 SDK, Note 4 is unflashed, so with whatever image it was shipped with. Using OpenGL ES 2.0, and setting CPU level 0 and GPU level 2.

As a side note, I also can't get adb to connect over wifi, which worked fine with the old kit. It's ping-able, but adb connect just fails. There's mention of adb-wifi being dependant on the device ( http://stackoverflow.com/questions/11074868/android-adb-tcpip-error/ ), has anyone else experienced similar issues?

Hopefully I can get adb-wifi working so I can attach the profiler and see in a little more detail what's going on.
8 REPLIES 8

cybereality
Grand Champion
Does the Note have Android 5? Because some people are saying 5 (Lollipop) is slower than 4.
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV

JonnyClangers
Honored Guest
Kitkat, not Lollipop I'm afraid. Other version info:

Android version 4.4.4
Baseband version N910AUCU1BNK3
Kernel version 3.10.0-3164227 / Web Nov 12 11:15:56 KST 2014
Build number KTU84P.N910AUCU1BNK3

cybereality
Grand Champion
Check this thread on debugging: viewtopic.php?f=67&t=18021

Any way you can get a logcat from the slow device? Maybe it will show some clue.
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV

JonnyClangers
Honored Guest
I managed to get adb-wifi working, by connecting my computer to my router via a wifi dongle rather than a lan cable. Goat knows why that makes a difference - they're still on the same subnet, and a hard connection allows me to use adb-wifi with the S5 fine. But at least it works now.

Looking at the unity profiler (cpu only for now, I haven't convinced the gpu profiler to work yet) it looks pretty much as I expect. There's a slightly higher overhead listed, but not enough to cause the performance gap. Pushing the CPU clock rate up to 1, and running a release build almost gets me back to 60, but then of course I can't use the profiler.

I'm going to do some more rigorous side-by-side profiling and compare everything that shows up in the profiler, but right now nothing obvious is showing up. A logcat comparison as well.

Anonymous
Not applicable
Aren't you forgetting that clock levels can be locked on the S5 devkits and cannot anymore on the Note4?

JonnyClangers
Honored Guest
"arnoudh" wrote:
Aren't you forgetting that clock levels can be locked on the S5 devkits and cannot anymore on the Note4?

Could you elaborate? I've trawled the power management doc in the sdk and I can't see what you're referring to. I'm setting the CPU and GPU levels explicitly, and as far as I can tell I'm not being throttled to a lower clock due to overheating on either the S5 or the Note 4.

Anonymous
Not applicable
I am not a developer, but there has been some talk about this on this subforum.

Topics like these: viewtopic.php?f=61&t=16846

rosebud_the_sle
Expert Protege
Yeah, this is almost always caused by the clock throttling changes made in the Note 4 that do not exist in the S5. There is documentation about power management and throttling in the SDK, but briefly, it's up to you to choose whether to downclock the CPU or the GPU (or both). You must do this to keep the device from overheating and draining the battery in a matter of minutes. All of the shipping Gear VR applications are running under these restrictions.

The S5, however, didn't have any restrictions, so it's not useful for performance comparison. You can run it at full clock, which isn't possible on the Note 4 because we don't want our user's devices to overheat in 15 minutes.

So, make sure you are setting your GPU and CPU settings on startup (there is documentation and sample code for this). If you don't set it, you'll be throttled very significantly. Look at your perf profile to decide where to put power (most folks are draw call bound and are thus putting time in the CPU, but it's up to your particular use case).