Bad performance

You can expect performance to improve on Android over time as we expand the devices we support. We chose to focus on Adreno 320 and 330 GPUs first as they are quite popular in North America. We also wanted to choose an architecture other than PowerVR which already receives a lot of attention from us due to our iOS support.

In addition to optimizing our engine, we also work closely with IHVs on driver improvements that will allow developers to squeeze even more out of mobile hardware. As an example, in the run up to GDC we worked closely with Qualcomm to optimize our Soul mobile graphics demo on Nexus 5. Through a combination of engine and driver improvements we were able to improve perf by about 2.5x-3x! You already have most of the engine improvements. Because many users don’t (or can’t) update their drivers, the driver improvements won’t do much for existing phones in the market but that work is really important for pushing the industry forward.

I’ve added a page to our wiki for all of you to add devices you are trying to run on and report your experiences. This will let us (and the community, for those adventurous coders out there!) know which devices you care about and should spend time fixing bugs and optimizing.

Also, at a high level I find the performance tiers section of our mobile documentation crucial for those developing mobile titles. If you need to reach every phone UE4 can possibly run on you should use the LDR tier. If you want to reach a large number of devices and take advantage of some lighting features, use the basic lighting tier. If you want to be on the bleeding edge of mobile graphics or if your project will have a long dev cycle and you’re ok with requiring iPhone5S go for full HDR and create something truly mind blowing!

– Penwarden, Lead Graphics Programmer, Epic Games