Bad performance

Hmm, I received my Nexus5 a few days ago. I’ve tried the Mobile Temple sample on it, and while it’s certainly beautiful, it’s not exactly running at a smooth fps.
When using ‘stat fps’ I get anywhere between 12 and about 45 fps depending on where I’m looking.

Am I supposed to change some setting to get it to run good on a Nexus5?

Since you’ve been using Nexus5 and Galaxy S4 for testing android compatibility, I had assumed that the samples you created would run well on those devices.
Is this not true, and if so, is any consumer android device actually capable of running the Mobile Sample demo with a high steady fps?

I’m just trying to understand what sort of hardware is needed to run various effects and modes well.

As I mentioned earlier, the latest publicly released Nexus5 drivers have some issues that limit performance. We’ve been working with Qualcomm to improve the driver performance, but I don’t know when they will release those drivers. The Galaxy S4 is our current min-spec device, with the expectation that apps will run but performance may not be great.

Do you know how one cold get those drivers for the Nexus 5 when they are released? I would think it have to be through an official Nexus 5 release, but when you talk about it, it seems like they will release them to the public separately…?

I understand what you’re saying. But does that mean that right now there’s no supported consumer android device capable of running your mobile temple demo with a steady, high fps? Then what about IOS? Does iPhone 5S or iPad Air run the demo with good performance?

What sort of performance gain will we see when Qualcomm releases the driver? Will the demo run well on the Nexus5, or just slightly better than with the stock drivers?
The reason for me to ask all these questions is because the added level of realism and visual fidelity in UE4 compared to Unity really seems to come at a high price right now.

To use mobile HDR with temporal antialiasing and all the other effects that are in the temple demo inside an actual game, what range of devices should I target? Devices present right now, devices being released later this year, or next year or…?

Will subsequent performance gains for android and IOS depend mostly on you (optimizing drivers) or on advances in hardware?

The mobile demo is aimed for higher-end devices, like Tegra K1. However, I suggest you do your benchmarking tests based on the free mobile RTS sample game that you can download from the marketplace. Deploy that game to your devices and test.

You can watch a quick video capture from that game here: http://www.youtube.com/watch?v=oNmrz_ZeLBc

Our next release will include some changes that substantially improve performance on Nexus5 without getting updated drivers. Those changes were not ready until just before GDC and therefore not able to make it in to the first release – so look out for them in 4.1!

Our performance on iOS now is right where we expect it to be given the features we support and the full HDR linear lighting pipeline. Android will continue to improve over time as we investigate optimizations to the engine as well as work with IHVs on improved drivers. Again, with 4.1 you should get a better feel for performance on Android going forward.

seenooh makes a good point, though. The mobile temple map and our Soul demo we showed at GDC were both aimed at high end devices: iPhone5S, Nexus 5, Tegra K1, etc. The strategy game demo shows content much more in line with what we expect one would ship a game today.

Ok, I will use the RTS sample instead for benchmarking.

@nick_p: Will the improved drivers that you’re helping the vendors develop make their way to end-users through regular android updates, or will they require the end-users to install them separately? I guess it’s a stupid question but I just want to make sure.

That’s a great question. We’re talking to them, and they with the various stakeholders, to try to improve the situation of getting new drivers out to users. The truth is, I don’t know. The situation with drivers on Android is quite bad now – most users never update. It’s still important that we work with them to ensure future devices don’t hit the same bottlenecks we are seeing today. To give you an idea, some of these bottlenecks are things like draw call overhead and render target switch limits, primarily things that can be worked around in content if needed.

The best we are going to be able to do for current retail devices is to continue to optimize the engine for drivers that have already shipped. We will continue our work there.

Thank’s, that made everything more clear! It’s great if you manage to make the vendors reduce possible bottlenecks. Even if we as developers can optimize content to avoid hitting the roof on certain devices because of less than perfect drivers, it would of course be better to put those wasted cycles to use on more and better content.

Hello everyone, i got Mobile Temple to run on my Nexus 10. It’s runs smooth, but there are graphics problems with the shaders. Hopefully they will be sorted out. :slight_smile:

Im getting very bad fps performance on Android. Turning off Hdr modes, static Shadows etc. doesnt increase fps. I use a nexus 7 and a initial setup. Is it possible to get better fps or are there some tuts?
Or may be Unity3D better suited for mobiles??

However the mobile demo actually runs incredibly poorly on the K1. The mobile demo runs at low screen resolution at 10-30fps on the K1. There are some optimizations not yet done (Open GL ES 3 + Android Extensions Tool Kit) and the drivers on the K1 seem to also have some issues. It’s a little frustrating as this is nearly 6 months after the K1 demos were shown and it’s still not possible to replicate the performance yet.

My game is running fine on any device higher or equivalent to a Samsung S3:

it’s got mobile hdr off and all materials set to Unlit (so no lighting at all).

I can barely play it on my S2 (15-20FPS) unfortunately and wrote already in the description to give it a miss on anything older than that :smiley: