By Cristiano Ferreira and Joseph Wells
Unity* is making native x86 app support easy with its latest 4.6 release. Square Enix quickly saw the benefits of supporting native x86 on Android, with their Hitman GO* release developers achieved a 31.2% faster game load time to gameplay simply by enabling Unity native x86 support 1.
Unity software’s native Android x86 support provides these potential benefits over previous non-native support:
- Significant reduction in load times
- Frame per second (FPS) performance increases
- Lower power consumption
Baseline
Before the Unity 4.6 release, all Unity-based games ran in Android non-native x86 mode and were not reaching their full potential on x86 hardware. For example, Square Enix’s Hitman GO was underperforming on both FPS and power per frame as seen in the Non-Native column in Figure 1 below.
Francis Pétrin is the lead programmer on the Hitman GO team at Square Enix Montréal. As a programmer on a tight schedule, he wants the simplest path for supporting as many platforms as possible. When Square Enix heard about Intel’s partnership with Unity to bring x86 support to Android titles, the first question Francis asked was “how quickly can we make this work?”
Enabling Native x86 Support
Luckily, the answer was “very quickly!” Unity provided Square Enix with a limited release alpha build that included the x86 build feature. Francis reported that "the Hitman GO project was upgraded from Unity 4.3.4f1 to 4.5.4f1 and pushed out to devices. The upgrade process itself was seamless. No issues arose in either the codebase or with the plugins/middleware." Francis was excited to see everything worked out of the box and he achieved a significant performance gain on x86 devices.
As detailed in Figure 1, an immediate improvement was seen in frame rate. A direct result of an improved frame rate was lower power consumption as well as a better user experience and longer battery life.
Figure 1.Performance gains1 with x86 native support.
Additionally, native code puts less workload on the CPU, which allows Unity-based native x86 games to capture higher performance with reduced CPU utilization. The game saw a 2.57 second improvement in load time when measured from app launch to menu interactivity.
Summary
Unity native x86 support opens up a quickly growing market segment where studios like Square Enix can capitalize on better graphics, faster loads, and low power consumption. Square Enix enabled native x86 Unity support for Hitman Go and achieved a 14.6% higher FPS and a 31.2% faster game load time. Francis summed things up, "We’ve published our latest update which includes this feature (native x86) onto Google Play*. Overall, we’re very happy to see Intel’s partnership being in line with Unity’s philosophy: multiplatform made easy."
Related Content
Enabling x86 native support on Unity article link
Enabling x86 native support on Unity video link
About the Authors
Cristiano Ferreira is a software engineer working in Intel’s Developer Relations Division with a specialization in mobile games and graphics. Cristiano helps game developers give their customers the greatest experience possible on Intel hardware.
Joseph Wells holds a Masters in Technical Writing from Northern Arizona University as well as a BSc in Computer Science. As a lifelong technology professional he enjoys supporting others with insight and instruction to further their interests.
[1] Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products.
System configuration for the testing done in this paper: Intel reference design tablet, Android 4.4, and Unity 4.5.4f1. Intel® Atom™ processor Z3775 (2M cache, 4 cores, up to 2.39 GHz), with Intel® HD Graphics at 311mhz base frequency, 2 GB of memory, and a 16GB solid state disk. For more information go to http://www.intel.com/performance.