x86-64 vs ARMv8-A - Printable Version

+- (
+-- Forum: PPSSPP - Playstation Portable Simulator Suitable for Playing Portably (/forumdisplay.php?fid=1)
+--- Forum: General Discussion and Announcements (/forumdisplay.php?fid=2)
+--- Thread: x86-64 vs ARMv8-A (/showthread.php?tid=15281)

x86-64 vs ARMv8-A - Livy. - 04-03-2015 04:44 PM

I am going to get an ZenFone 2. Unlike most handsets out there, Asus chose Intel over ARM. However, Qualcomm and Mediatek versions of the ZenFone 2 are arriving in Q2 2015 at a lower price (FYI, several dozens of bucks is not very important to me).

This thread is not to start Intel vs ARM or CISC vs RISC war. I would like to hear personal opinions (based on technical knowledge) and experiences (based on real life usage), before I make a decision.

Personally, I do not like Intel at all. Intel's chips are not designed for mobile devices in the first place. x86 chips are powerful compared to ARM's because they can process complex instructions at hardware level, but they consume more power. I want to have a phone for prolong usage, not a supercomputer in my pocket with 1 day battery life.

The x86 architecture has a long history along with a heavy backward compatibility burden. Later Intel's chip provide new instruction set extensions (SSE4.2, AVX, FMA4...), while maintain backward compatibility with old software by supporting all previous instruction sets (MMX, SSE2, SSE3...). Even the x86-64 chips are not a clean design from the ground up, but rather an extension of the x86 developed by AMD. It will no doubt increase the cost and reduce performance.

ARM's chips, as far as I know, have no such thing. The ARMv5, ARMv6, and ARMv7-A are totally different and are not compatible with each other. The new ARMv8-A are backward compatible with ARMv7-A, but through some mode which is said to maintain a clean design, while does not affect performance.

Which version of the ZenFone 2 is better for software in general, and for PPSSPP in particular, Intel or ARM?

RE: x86-64 vs ARMv8-A - [Unknown] - 04-03-2015 06:04 PM

For PPSSPP in particular, ARM vs Intel is probably not the biggest issue. Instead, it's the graphics card and its drivers.

You're right about some of the ARM vs Intel factors, but I would generally just look at benchmarks to prove those things out - power consumption, cpu performance, etc. will all have charts somewhere.

I for example have a Nexus 5. This is a 32-bit armv7 device, clocked at 2.25Ghz with an Adreno 330 GPU. Games that have trouble running at full speed are pretty much all limited by the GPU - which means even if it had a 4Ghz CPU, if the driver wasn't faster and the GPU was the same, it would still not run full speed in those games. It would probably have better FPS, but it wouldn't be much.

Anyway, the biggest thing I would recommend is just to be sure the device supports GLES 3.1. The Intel version has a PowerVR G6430, which is capable of 3.1, but I note that ASUS only states 3.0. 3.1 is important mainly because it'll be required for Vulkan, a new graphics API that most expect PPSSPP to run better on (actual results to be seen.)

I know that PPSSPP has has trouble with PowerVR devices, but I don't really know the state of the Rogue line (which is what the ZenFone 2 has.) And possibly Vulkan might even change this. But, if the Qualcomm version has an Adreno 4xx (which I guess it would?), it'll be an interesting comparison indeed.

Also, it's worth noting that work is still underway with the arm64 jit (Henrik has been working on it.) So far it looks like it's doing pretty well on a Nexus 9 (Tegra K1) as far as I understand.

At the end, the basic answer is that time will tell.


RE: x86-64 vs ARMv8-A - Livy. - 04-04-2015 08:35 AM

The Atom version of the ZenFone 2 runs Android 32-bit, despite the fact that the Silvermont Atom is 64-bit capable. Assume that it will be the same on upcoming ARM version. Will the ARM64 JIT work on 32-bit Android? (I guess no, just like x64 software on Win32 despite the underlying hardware is 64-bit)

RE: x86-64 vs ARMv8-A - [Unknown] - 04-04-2015 02:54 PM

Oh, no, in that case it will use the 32-bit armjit. Although, it's hard to predict if they will actually do that with ARM. I bet they were just afraid of compatibility problems, since 64-bit support is new and some apps may not work with it.

But even the difference between 64 and 32 bit Intel is small compared to the driver quality and GPU. I think some people here have found that one or the other is a decent bit better (on Windows), just because e.g. the 64-bit version of their GPU driver is faster.