显示标签为“Android Tablet”的博文。显示所有博文
显示标签为“Android Tablet”的博文。显示所有博文

2011年2月20日星期日

Motorola Xoom available Thursday, pre-ordering at Best Buy now

The Motorola Xoom Android 3.0 tablet can now be pre-ordered in-store at Best Buy for Thursday, February 24 release. Also listed alongside the $800 tablet are its accessories, which includes the Porfolio Case ($40), the Dock ($50), HD Speaker Dock ($130), and the Bluetooth Wireless Keyboard ($70). When it hits the market it will be the first bona fide challenge to the mobile OS tablet market created by Apple’s iPad, although the pricing of Wi-Fi plus 3G model has created controversy and may hurt its sales.
The tablet will be the first shipping tablet to feature Android 3.0 (Honeycomb), Google’s first attempt at a tablet-optimized mobile OS. This has enabled the device to have a much larger 10.1-inch than the erstwhile iPad challenger, Samsung’s Galaxy Tab, which was limited to maximum screen size of 7-inches because it runs a non-tablet optimized version of Android. It will also have an at least temporary edge over the iPad in that it will be powered by a dual-core, ARM Cortex-A9 based NVIDIA Tegra 2 processor.

Other hardware potential advantages that the device will bring to the table for tablet users over the iPad are front and rear facing cameras, full multi-tasking and support for Adobe Flash Player for a full web browsing experience. However, users looking to purchase the 1.6-pound tablet and who plan to use its Wi-Fi function will need to pay for one-month data activation with Verizon before the Wi-Fi function will be enabled.

em>Electronista has had a hands-on with the device and found a lot to like, but also found that we had some misgivings about its responsiveness and weight.

2011年2月13日星期日

Introducing Renderscript - Android

[This post is by R. Jason Sams, an Android engineer who specializes in graphics, performance tuning, and software architecture. —Tim Bray]
Renderscript is a key new Honeycomb feature which we haven’t yet discussed in much detail. I will address this in two parts. This post will be a quick overview of Renderscript. A more detailed technical post with a simple example will be provided later.
Renderscript is a new API targeted at high-performance 3D rendering and compute operations. The goal of Renderscript is to bring a lower level, higher performance API to Android developers. The target audience is the set of developers looking to maximize the performance of their applications and are comfortable working closer to the metal to achieve this. It provides the developer three primary tools: A simple 3D rendering API on top of hardware acceleration, a developer friendly compute API similar to CUDA, and a familiar language in C99.
Renderscript has been used in the creation of the new visually-rich YouTube and Books apps. It is the API used in the live wallpapers shipping with the first Honeycomb tablets.
The performance gain comes from executing native code on the device. However, unlike the existing NDK, this solution is cross-platform. The development language for Renderscript is C99 with extensions, which is compiled to a device-agnostic intermediate format during the development process and placed into the application package. When the app is run, the scripts are compiled to machine code and optimized on the device. This eliminates the problem of needing to target a specific machine architecture during the development process.
Renderscript is not intended to replace the existing high-level rendering APIs or languages on the platform. The target use is for performance-critical code segments where the needs exceed the abilities of the existing APIs.
It may seem interesting that nothing above talked about running code on CPUs vs. GPUs. The reason is that this decision is made on the device at runtime. Simple scripts will be able to run on the GPU as compute workloads when capable hardware is available. More complex scripts will run on the CPU(s). The CPU also serves as a fallback to ensure that scripts are always able to run even if a suitable GPU or other accelerator is not present. This is intended to be transparent to the developer. In general, simpler scripts will be able to run in more places in the future. For now we simply leverage the CPU resources and distribute the work across as many CPUs as are present in the device.
The video above, captured through an Android tablet’s HDMI out, is an example of Renderscript compute at work. (There’s a high-def version on YouTube.) In the video we show a simple brute force physics simulation of around 900 particles. The compute script runs each frame and automatically takes advantage of both cores. Once the physics simulation is done, a second graphics script does the rendering. In the video we push one of the larger balls to show the interaction. Then we tilt the tablet and let gravity do a little work. This shows the power of the dual A9s in the new Honeycomb tablet.
Renderscript Graphics provides a new runtime for continuously rendering scenes. This runtime sits on top of HW acceleration and uses the developers’ scripts to provide custom functionality to the controlling Dalvik code. This controlling code will send commands to it at a coarse level such as “turn the page” or “move the list”. The commands the two sides speak are determined by the scripts the developer provides. In this way it’s fully customizable. Early examples of Renderscript graphics were the live wallpapers and 3d application launcher that shipped with Eclair.
With Honeycomb, we have migrated from GL ES 1.1 to 2.0 as the renderer for Renderscript. With this, we have added programmable shader support, 3D model loading, and much more efficient allocation management. The new compiler, based on LLVM, is several times more efficient than acc was during the Eclair-through-Gingerbread time frame. The most important change is that the Renderscript API and tools are now public.
The screenshot above was taken from one of our internal test apps. The application implements a simple scene-graph which demonstrates recursive script to script calling. The Androids are loaded from an A3D file created in Maya and translated from a Collada file. A3D is an on device file format for storing Renderscript objects.
Later we will follow up with more technical information and sample code.