Intel and Unity partner on Android x86 support

Intel and Unity partner on Android x86 support

Intel has partnered with Unity to bring the company's game engine to x86 Android devices, as it looks to push 40 million Intel-based tablets by the end of the year.

Intel is continuing with its efforts to encourage adoption of x86 processors in Android devices, announcing a partnership with game engine specialist Unity to bring full support for its software to the platform.

Intel has previously admitted that its delayed entry into the mobile market has cost it dearly, and has been spending the last few years attempting to make up for lost time. Its latest Atom system-on-chip (SoC) designs look to level the playing field against industry incumbent ARM, but remain rare in shipping devices. Part of that is a chicken-and-egg issue relating to compatibility: Android app developers often fail to port their software to or test it on Intel's x86 chips because the pool of devices is so small, while manufacturers stick with the tried-and-tested ARM platform because app developers fail to port their software to or test it on x86.

That's something Intel is keen to change. 'We’ve set a goal to ship 40 million Intel-based tablets this year and expect more than 100 Android tablet designs on Intel in the market by the end of this year,' claimed Doug Fisher, manager of Intel's Software and Services Group. 'Our collaboration with Unity will give its nearly 3 million developers the necessary software tools and support to build amazing Android experiences on Intel architecture.'

Said collaboration will see Unity adding Intel-specific enhancements, including performance improvements across both CPU and GPU threads, to its eponymous game engine. Additional changes will also, Intel has claimed, make it easier for developers to build their software for both ARM and x86 Android devices 'with minimal extra effort.'

'Unity is used by half of all mobile game developers, and many of them have been asking for increased support for Intel-based devices running Android, claimed Unity chef executive David Helgason of the partnership. 'We are proud to be working with Intel to ensure that Unity provides the smoothest and highest performing experience possible on Intel platforms.'

More details are available on the official Intel website.


Discuss in the forums Reply
Byron C 22nd August 2014, 10:55 Quote
Isn't that the point of ART in Android L? To have apps compatible with any CPU architectures? I realise that we're talking mainly about graphics here, but I'd be wary of Intel doing Intel-specific things, when part of the point of Android L is to remove the reliance on a single CPU arch.
Gareth Halfacree 22nd August 2014, 11:13 Quote
Originally Posted by BLC
Isn't that the point of ART in Android L? To have apps compatible with any CPU architectures?
Err, no? At least, not as far as I'm aware: ART (which is available now - I'm using it on my Android 4.4.4 Nexus 4, and have been doing since 4.4.2) is just a switch from Dalvik's Just-In-Time (compile the Java every time the application is launched) methodology to Ahead-Of-Time (compile the Java once when the application is installed). It makes applications launch faster and consume less battery, but take up more space and take longer to install. However, it's no more or less cross-compatible than Dalvik - that aspect is unchanged.

At least, that's my understanding - I'm perfectly happy to be proved wrong!
Byron C 22nd August 2014, 11:52 Quote
From Wikipedia:
ART is a cross-platform runtime which supports the x86, ARM, and MIPS architectures in both 32-bit and 64-bit environments. Unlike Dalvik, which uses just-in-time compilation (JIT), ART compiles apps upon installation, which are then run exclusively from the compiled version from then on.

And AnandTech:
As such, it provides a multitude of compiler-backends targeting today's most common architectures such as ARM, x86 and MIPS. In addition, 64-bit support for ARM64, x86-64 and while still not implemented, also MIPS64.

I've always read this as effectively making all ART-compatible apps cross-platform by design, rather than needing to be built specifically for each architecture. Pretty sure I've seen that written somewhere too, but I can't cite that.

I'm also happy to be proven wrong :).
Gareth Halfacree 22nd August 2014, 11:59 Quote
Originally Posted by BLC
From Wikipedia: [snip pretty much what I just said]
I've always read this as effectively making all ART-compatible apps cross-platform by design, rather than needing to be built specifically for each architecture.
That's from whence your misunderstanding stems. Dalvik also includes various compiler back-ends - that's why you can install (most) Android software on ARMv6, ARMv7, MIPS and x86 devices. Anandtech could have worded that bit better, I reckon - there's nothing new about that in ART. Trouble is, you can't do everything via Java - especially when you're looking at high-performance stuff like gaming. You need to have native code for that stuff, hence Microsoft's deal with Unity. That won't change with ART, or Android L - you'll still need to do native stuff when you need teh sp33dz0rz, while nicely cross-platform Java will work for other stuff.

EDIT: This example might make it clearer: if you write an app in Java for Android, it will run on any platform for which Dalvik or ART is available (which is to say, any Android device.) If you write an app which has non-Java stuff in it, it will run only on the platforms for which you have specifically compiled it (which is why some games and benchmarks, which use native code for performance reasons, don't run on x86 Android devices.) ART in no way changes that fact, although its increased performance over Dalvik may mean you can do some more stuff in Java that you would have had to do natively previously.
Byron C 22nd August 2014, 12:32 Quote
This is an area where my knowledge obviously falls short :). Everything I'd read seemed to pitch ART's cross-compatibility as New Thing - indeed, AnandTech didn't help matters here. I didn't know Dalvik did that, although it makes perfect sense.

Still, we are talking about vendor-specific optimisations which is always something that makes me wary. While Tegra-specific demos/games are very impressive indeed, they are limited to Tegra devices (if you'll forgive the tautology). In an ideal world everyone should write their code for the same graphics API, whether it's GLES or OpenGL, and hardware manufacturers should fully support those standards instead of implementing their own.

Android, however, isn't an ideal world; it's a Wild West of devices, OS versions and hardware platforms.  Still better than iPhone/iPad/iOS though :p.
Log in

You are not logged in, please login with your forum account below. If you don't already have an account please register to start contributing.

Discuss in the forums