Top Banner
Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson
19

Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

Dec 15, 2015

Download

Documents

Dylan Reaves
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

Remote Android Rendering

Joel Isaacson

Ascender Technologies Ltd.

Copyright 2014 Joel Isaacson

Page 2: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

The Problem

There are just too many pixels to simply transmit over a long-haul network.

There are a number of techniques that have been attempted.

They all entail some compromises: Resolution Accuracy Frame Rate Latency

Remote RenderingAscender Technologies Ltd

Page 3: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

The Problem:Pixel Count 2008-2011

Copyright Romain Guy, Chet Haas, Google I/O 2011Ascender Technologies

LtdRemote Rendering

Page 4: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

The Problem:Pixel Count 2008-2012

Ascender Technologies Ltd Remote Rendering

Page 5: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

The Problem:Pixel Count 2008-2014

Ascender Technologies Ltd Remote Rendering

Page 6: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

Pixel Count 2008-2014

Ascender Technologies Ltd Remote Rendering

DisplayCommercialAvailability

Rows Columns Pixels

DVD 1997 720 480 345,600

720p 1998 1289 720 921,600

1080p 2006 1920 1080 2,073,600

Nexus 10 2012 2560 1600 4,096,000

4K Ultra HDTablet

2014 3840 2160 8,294,400

Page 7: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

Android Graphics Stack

Ascender Technologies Ltd Remote Rendering

Page 8: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

Choosing How ToExport Graphics

Graphics can be exported from any of the four levels of the graphics stack Application level Toolkit level Rendering level Pixel level

We choose to export the rendering level.

Remote RenderingAscender Technologies Ltd

Page 9: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

Exporting The Toolkitand App

It is technically very complex. Android, to date, has 17 different toolkit API variants.

Every application can extend the toolkit with custom widgets (subclasses of android.view.View).

Clearly impossible.

Remote RenderingAscender Technologies Ltd

Page 10: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

Exporting The Toolkitand App

It is technically very complex. Android, to date, has 17 different toolkit API variants.

Every application can extend the toolkit with custom widgets (subclasses of android.view.View).

Clearly impossible. Effectively exporting graphics at the toolkit

level and even the application level is in fact possible via the rendering API.

Remote RenderingAscender Technologies Ltd

Page 11: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

The GUI Rendering Layer Expanded

Ascender Technologies Ltd Remote Rendering

Page 12: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

NDK App With OpenGL

Ascender Technologies Ltd Remote Rendering

Page 13: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

NDK App With Skia Rendering

Ascender Technologies Ltd Remote Rendering

Page 14: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

Android Remote Rendering

Ascender Technologies Ltd Remote Rendering

Page 15: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

Android Remote RenderingNo GPU on Server Needed

Ascender Technologies Ltd Remote Rendering

Page 16: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

ICS Rendering Results

Even with simple techniques the compression ratio is over four orders of magnitude (x10,000 reduction).

The number of bytes per frame, for the GUI rendering, is typically 300 bytes, as opposed to 4-16 Mbytes for uncompressed frames.

The compression encodes 2-4 rendering operations per byte (2-4 bits per rendering operation).

Remote RenderingAscender Technologies Ltd

Page 17: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

The Google Play UniverseAPI Coverage

Remote RenderingAscender Technologies Ltd

Page 18: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

Cloud Gaming

Currently cloud gaming is done with pixel rendering performed on the remote server. The frames are H264 encoded and sent over the network to the remote client.

Our remote rendering technology does not need special hardware on the server side. The computational load on the server and network are minimized.

Playing latency (lag) is minimal.

Remote RenderingAscender Technologies Ltd

Page 19: Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2014 Joel Isaacson.

A Perfect Storm

It seems that a technological cosmic alignment has happened: Fast, low-power 64 bit ARM multi-processors

(Cortex A50) with virtualization extensions. Adoption of Android apps in a broad gamut of use

cases, including the enterprise. Ever increasing adoption of cloud based solutions. Possibility of efficiently transporting Android

graphics via a long haul network.

Remote RenderingAscender Technologies Ltd