1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

News Intel and Unity partner on Android x86 support

Discussion in 'Article Discussion' started by Gareth Halfacree, 21 Aug 2014.

  1. Gareth Halfacree

    Gareth Halfacree WIIGII! Staff Administrator Super Moderator Moderator

    Joined:
    4 Dec 2007
    Posts:
    12,812
    Likes Received:
    2,035
  2. Byron C

    Byron C No liability accepted as a result of this post

    Joined:
    12 Apr 2002
    Posts:
    5,642
    Likes Received:
    740
    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.
     
  3. Gareth Halfacree

    Gareth Halfacree WIIGII! Staff Administrator Super Moderator Moderator

    Joined:
    4 Dec 2007
    Posts:
    12,812
    Likes Received:
    2,035
    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!
     
  4. Byron C

    Byron C No liability accepted as a result of this post

    Joined:
    12 Apr 2002
    Posts:
    5,642
    Likes Received:
    740
    From Wikipedia:

    And AnandTech:

    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 :).
     
  5. Gareth Halfacree

    Gareth Halfacree WIIGII! Staff Administrator Super Moderator Moderator

    Joined:
    4 Dec 2007
    Posts:
    12,812
    Likes Received:
    2,035
    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.
     
    Last edited: 22 Aug 2014
  6. Byron C

    Byron C No liability accepted as a result of this post

    Joined:
    12 Apr 2002
    Posts:
    5,642
    Likes Received:
    740
    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.
     

Share This Page