NEON Support for Four Android Devices
(2011-04-14 Modified)
We add multiple new Android devices to our Android development environment. Our lineup become as follows;
- NTT DoCoMo HT-03A (HTC Magic),
- EMOBILE PocketWiFi S (Huawei IDEOS U8150),
- NTT DoCoMo SO-01C (Sony Ericsson Xperia arc), and
- Motorola Xoom WiFi.
To see difference between them, we checked these devices support a SIMD instruction for ARM architecture, called “NEON”, which the next version of Tegra would have.
A routine which contains many calculations may achieve significant performance increase with NEON. To use NEON instructions, you build a native shared library (.so) written in C/C++ and call functions in it through JNI (Java Native Interface) form a Java app. A CPU which is compatible with ARM v7 or later and supports NEON circuit is required. Apps may switch routines by checking for a device to have NEON support.
We checked for our Android devices to support NEON by using HelloNeon in Android NDK r5b.
Additionally, we show basic specifications and display specifications obtained by tDpiInfo.
Name | NTT docomo
HT-03A |
EMOBILE
PocketWiFi S |
NTT docomo
Xperia arc SO-01C |
Xoom |
---|---|---|---|---|
Vender | HTC | Huawei | Sony Ericsson | Motorola |
OS Version | 1.6 | 2.2 | 2.3.2 | 3.0.1 |
CPU | Qualcomm
MSM7200A |
Qualcomm
MSM7201A |
Qualcomm
Snapdragon MSM8255 |
NVIDIA
Tegra 2 250 |
Clock | 384MHz *1 | 528MHz | 1000MHz | 1000MHz
(Dual Core) |
ARMv7 or later | No | No | Yes | Yes |
NEON | No | No | Yes | No |
Height [px] | 480 | 320 | 854 | 800 |
Width [px] | 320 | 240 | 480 | 1280 |
Density | 1.0 | 0.75 | 1.5 | 1.0 |
Xdpi [px] | 180.62193 | 160.42105 | 234.46153 | 149.82489 |
Ydpi [px] | 181.96814 | 159.37254 | 233.24301 | 149.41176 |
*1: This CPU can run at 528MHz, but HT-03A runs at 384MHz.
Xperia arc is the only device we have which supports NEON.
Performance is very different between a group of HT-03A and Pocket WiFi S, and a group of Xperia arc and Xoom. Xoom has the highest resolution, but it shows the best performance. Dual Core and GPU may work well. Xperia arc is also very good to use. The 1st group is slow and low-reso, but we use them for application performance tuning.
At a visual point of view, difference of DPI (dot/inch, pixel/inch) is important.
Developer’s guide says 160px/inch is a standard density (=1.0). Each device has its specific value regarding to its display size. Density seems to be rounded to a multiple of 0.25, so actual DPI is a bit different from Density value, for example, HT-03A and Xoom have 1.0 in Density, but DPI are 180 px/inch 149 px/inch, respectively. Because Xperia arc has the high Density1.5, every graphics (including font) should be scaled as 1.5 times large as a default or it may be shown very smaller.
# Yes, ChartExpert has this problem. We are now working to fix it!! :P
(2011-04-14 Add)
Name | NTT docomo
MEDIAS N-04C |
NTT docomo
REGZA Phone T-01C |
au
IS03 |
---|---|---|---|
Vender | NEC CASIO | Fujitsu Toshiba | SHARP |
OS Version | 2.2.1 | 2.1-update1 | 2.1-update1 |
CPU | Qualcomm
Snapdragon MSM7230 |
Qualcomm
Snapdragon QSD8250 |
Qualcomm
Snapdragon QSD8650 |
Clock | 800MHz | 1000MHz | 1000MHz |
ARMv7 or later | Yes | Yes | Yes |
NEON | Yes | Yes | Yes |
Height [px] | 854 | 854 | 960 |
Width [px] | 480 | 480 | 640 |
Density | 1.5 | 1.5 | 2.0 |
Xdpi [px] | 160.42105 | 160.42105 | 331.7551 |
Ydpi [px] | 159.49706 | 159.49706 | 334.0274 |
It is impressive that IS03 has very high resolution.
The display metrics for MEDIAS and REGZA Phone are very similar. It is somewhat wondering that Xdpi and Ydpi for these devices are around 160 although Densities for these devices are 1.5 (it means 240dpi).
Regarding our looking, NEON is supported by all devices using Snapdragon. Almost all of recent machines has this chipset family. About tablet types, new Android 3.0 machines often take Tegra2, which don’t support NEON.
We thank our friends for their help!!
I ran tDpiInfo v1.1.5 on a rooted LG-L45C phone running Android Gingerbread v2.3.4 and did not get the reports shown above. I was particularly interested in the CPU details, NEON status, ARM line items. Is there another version of tDpiInfo that was used or an altogether different APP that was actually used?
Hello. Thank you for reading our article.
We have thanked tDpiInfo for bringing information related to display, such as DPI, resolution, and scaling parameter.
To get NEON status, we used the HelloNeon, a sample App included in Android NDK. For details, see http://developer.android.com/sdk/ndk/overview.html#samples.
To get other CPU details, such as its model number and clock frequency, we checked manually vendor’s sites or other sites like here if a vendor does not provide details.