SlideShare a Scribd company logo
1 of 17
Remote Android Rendering

Joel Isaacson
Ascender Technologies Ltd.
Copyright 2013 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

Ascender Technologies
Ltd

Remote
Rendering
The Problem:
Pixel Count 2008-2011

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

Remote
Rendering
The Problem:
Pixel Count 2008-2012

Ascender Technologies Ltd

Remote
Rendering
Android Graphics Stack

Ascender Technologies Ltd

Remote
Rendering
Choosing How To
Export Graphics
●

Graphics can be exported from any of the four
levels of the graphics stack
–
–

Toolkit level

–

Rendering level

–
●

Application level

Pixel level

We choose to export the rendering level.

Ascender Technologies
Ltd

Remote
Rendering
Exporting The Toolkit
and 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.

Ascender Technologies
Ltd

Remote
Rendering
Exporting The Toolkit
and 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.
This talk will show that effectively exporting
graphics at the toolkit level and even the
application level is in fact possible via the
rendering API.

Ascender Technologies
Ltd

Remote
Rendering
The GUI Rendering Layer Expanded

Ascender Technologies Ltd

Remote
Rendering
NDK App With OpenGL

Ascender Technologies Ltd

Remote
Rendering
NDK App With Skia Rendering

Ascender Technologies Ltd

Remote
Rendering
Android Remote Rendering

Ascender Technologies Ltd

Remote
Rendering
Android Remote Rendering
No GPU on Server Needed

Ascender Technologies Ltd

Remote
Rendering
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 416 Mbytes for uncompressed frames.
The compression encodes 2-4 rendering
operations per byte (2-4 bits per rendering
operation).

Ascender Technologies
Ltd

Remote
Rendering
The Google Play Universe
API Coverage

Ascender Technologies Ltd

Remote Rendering
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.

Ascender Technologies
Ltd

Remote
Rendering
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.

Ascender Technologies Ltd

Remote Rendering

More Related Content

What's hot

Java Applications with Visual Studio
Java Applications with Visual StudioJava Applications with Visual Studio
Java Applications with Visual StudioRed Hat Developers
 
Go native benchmark test su dispositivi x86: java, ndk, ipp e tbb
Go native  benchmark test su dispositivi x86: java, ndk, ipp e tbbGo native  benchmark test su dispositivi x86: java, ndk, ipp e tbb
Go native benchmark test su dispositivi x86: java, ndk, ipp e tbbJooinK
 
20160929 android taipei_tensorflow
20160929 android taipei_tensorflow20160929 android taipei_tensorflow
20160929 android taipei_tensorflowPRADA Hsiung
 
Android Things
Android ThingsAndroid Things
Android ThingsBin Chen
 
Composing Music in the Cloud
Composing Music in the CloudComposing Music in the Cloud
Composing Music in the CloudCodemotion
 
Fight your technical debt with Jenkins, Jacoco and Sonar
Fight your technical debt with Jenkins, Jacoco and SonarFight your technical debt with Jenkins, Jacoco and Sonar
Fight your technical debt with Jenkins, Jacoco and SonarMickael Istria
 
Python Tools for Visual Studio
Python Tools for Visual StudioPython Tools for Visual Studio
Python Tools for Visual StudioAxilis
 
Mobile development in 2020
Mobile development in 2020 Mobile development in 2020
Mobile development in 2020 Bogusz Jelinski
 
Favorites of spain js (the rollingscopes #3)
Favorites of spain js (the rollingscopes #3)Favorites of spain js (the rollingscopes #3)
Favorites of spain js (the rollingscopes #3)Alex Karlovich
 
PhoneGap Day 2016 USA
PhoneGap Day 2016 USAPhoneGap Day 2016 USA
PhoneGap Day 2016 USARyan J. Salva
 
Common Java problems when developing with Android
Common Java problems when developing with AndroidCommon Java problems when developing with Android
Common Java problems when developing with AndroidStephen Gilmore
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugLars Vogel
 

What's hot (15)

Java Applications with Visual Studio
Java Applications with Visual StudioJava Applications with Visual Studio
Java Applications with Visual Studio
 
Go native benchmark test su dispositivi x86: java, ndk, ipp e tbb
Go native  benchmark test su dispositivi x86: java, ndk, ipp e tbbGo native  benchmark test su dispositivi x86: java, ndk, ipp e tbb
Go native benchmark test su dispositivi x86: java, ndk, ipp e tbb
 
20160929 android taipei_tensorflow
20160929 android taipei_tensorflow20160929 android taipei_tensorflow
20160929 android taipei_tensorflow
 
Android Things
Android ThingsAndroid Things
Android Things
 
Composing Music in the Cloud
Composing Music in the CloudComposing Music in the Cloud
Composing Music in the Cloud
 
Android Studio vs. ADT
Android Studio vs. ADTAndroid Studio vs. ADT
Android Studio vs. ADT
 
Fight your technical debt with Jenkins, Jacoco and Sonar
Fight your technical debt with Jenkins, Jacoco and SonarFight your technical debt with Jenkins, Jacoco and Sonar
Fight your technical debt with Jenkins, Jacoco and Sonar
 
Python Tools for Visual Studio
Python Tools for Visual StudioPython Tools for Visual Studio
Python Tools for Visual Studio
 
Mobile development in 2020
Mobile development in 2020 Mobile development in 2020
Mobile development in 2020
 
Favorites of spain js (the rollingscopes #3)
Favorites of spain js (the rollingscopes #3)Favorites of spain js (the rollingscopes #3)
Favorites of spain js (the rollingscopes #3)
 
PhoneGap Day 2016 USA
PhoneGap Day 2016 USAPhoneGap Day 2016 USA
PhoneGap Day 2016 USA
 
Xamarin v.Now
Xamarin v.NowXamarin v.Now
Xamarin v.Now
 
Common Java problems when developing with Android
Common Java problems when developing with AndroidCommon Java problems when developing with Android
Common Java problems when developing with Android
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
 
Debugging C# Applications
Debugging C# ApplicationsDebugging C# Applications
Debugging C# Applications
 

Viewers also liked

Android in the Cloud
Android in the CloudAndroid in the Cloud
Android in the CloudJoel Isaacson
 
Remote Android Rendering
Remote Android RenderingRemote Android Rendering
Remote Android RenderingJoel Isaacson
 
Hypori Performance Webinar
Hypori Performance WebinarHypori Performance Webinar
Hypori Performance WebinarGrafic.guru
 
OpenGL - Bringing the 3D World into the Android
OpenGL - Bringing the 3D World into the AndroidOpenGL - Bringing the 3D World into the Android
OpenGL - Bringing the 3D World into the AndroidDroidConTLV
 
Emulador Android Genymotion
Emulador Android GenymotionEmulador Android Genymotion
Emulador Android GenymotionAlfredito Aguayo
 
SierraVMI Virtual Mobile Infrastructure (VMI). Android-based VDI.
SierraVMI Virtual Mobile Infrastructure (VMI). Android-based VDI.SierraVMI Virtual Mobile Infrastructure (VMI). Android-based VDI.
SierraVMI Virtual Mobile Infrastructure (VMI). Android-based VDI.Sierraware
 
OpenGL ES Presentation
OpenGL ES PresentationOpenGL ES Presentation
OpenGL ES PresentationEric Cheng
 
認識那條鯨魚 Docker 初探
認識那條鯨魚   Docker 初探認識那條鯨魚   Docker 初探
認識那條鯨魚 Docker 初探仲昀 王
 
Autocom CDP Car Application List | VtoolShop
Autocom CDP Car Application List | VtoolShopAutocom CDP Car Application List | VtoolShop
Autocom CDP Car Application List | VtoolShopAmy joe
 
Yelpを使って英語スキルをのばそう!
Yelpを使って英語スキルをのばそう!Yelpを使って英語スキルをのばそう!
Yelpを使って英語スキルをのばそう!Rika Nakazawa
 
2010臺北國際花卉博覽會
2010臺北國際花卉博覽會2010臺北國際花卉博覽會
2010臺北國際花卉博覽會chiminglo
 
Daughters Without Dads Inc
Daughters Without Dads IncDaughters Without Dads Inc
Daughters Without Dads Incarmstrongdoresa
 
Application Cars Cdp Pro List | VtoolShop
Application Cars Cdp Pro List  | VtoolShopApplication Cars Cdp Pro List  | VtoolShop
Application Cars Cdp Pro List | VtoolShopAmy joe
 
Kliuch k yspexy
Kliuch k yspexyKliuch k yspexy
Kliuch k yspexyAlhionuska
 
Chitra presentation on schizophrenia
Chitra presentation on schizophreniaChitra presentation on schizophrenia
Chitra presentation on schizophreniaChitra Devi
 
Aplicaciones clave
Aplicaciones claveAplicaciones clave
Aplicaciones clavericarditorey
 
New hbs round 1 deadline is september 16, 2013 new mit sloan essay questions...
New hbs round 1 deadline is september 16, 2013  new mit sloan essay questions...New hbs round 1 deadline is september 16, 2013  new mit sloan essay questions...
New hbs round 1 deadline is september 16, 2013 new mit sloan essay questions...Amerasia Consulting Group
 

Viewers also liked (20)

Android in the Cloud
Android in the CloudAndroid in the Cloud
Android in the Cloud
 
Remote Android Rendering
Remote Android RenderingRemote Android Rendering
Remote Android Rendering
 
Hypori Performance Webinar
Hypori Performance WebinarHypori Performance Webinar
Hypori Performance Webinar
 
Mobilecloud
MobilecloudMobilecloud
Mobilecloud
 
OpenGL - Bringing the 3D World into the Android
OpenGL - Bringing the 3D World into the AndroidOpenGL - Bringing the 3D World into the Android
OpenGL - Bringing the 3D World into the Android
 
Emulador Android Genymotion
Emulador Android GenymotionEmulador Android Genymotion
Emulador Android Genymotion
 
SierraVMI Virtual Mobile Infrastructure (VMI). Android-based VDI.
SierraVMI Virtual Mobile Infrastructure (VMI). Android-based VDI.SierraVMI Virtual Mobile Infrastructure (VMI). Android-based VDI.
SierraVMI Virtual Mobile Infrastructure (VMI). Android-based VDI.
 
OpenGL ES Presentation
OpenGL ES PresentationOpenGL ES Presentation
OpenGL ES Presentation
 
認識那條鯨魚 Docker 初探
認識那條鯨魚   Docker 初探認識那條鯨魚   Docker 初探
認識那條鯨魚 Docker 初探
 
H. pylori
H. pyloriH. pylori
H. pylori
 
Autocom CDP Car Application List | VtoolShop
Autocom CDP Car Application List | VtoolShopAutocom CDP Car Application List | VtoolShop
Autocom CDP Car Application List | VtoolShop
 
Yelpを使って英語スキルをのばそう!
Yelpを使って英語スキルをのばそう!Yelpを使って英語スキルをのばそう!
Yelpを使って英語スキルをのばそう!
 
2010臺北國際花卉博覽會
2010臺北國際花卉博覽會2010臺北國際花卉博覽會
2010臺北國際花卉博覽會
 
Daughters Without Dads Inc
Daughters Without Dads IncDaughters Without Dads Inc
Daughters Without Dads Inc
 
Application Cars Cdp Pro List | VtoolShop
Application Cars Cdp Pro List  | VtoolShopApplication Cars Cdp Pro List  | VtoolShop
Application Cars Cdp Pro List | VtoolShop
 
2.5
2.52.5
2.5
 
Kliuch k yspexy
Kliuch k yspexyKliuch k yspexy
Kliuch k yspexy
 
Chitra presentation on schizophrenia
Chitra presentation on schizophreniaChitra presentation on schizophrenia
Chitra presentation on schizophrenia
 
Aplicaciones clave
Aplicaciones claveAplicaciones clave
Aplicaciones clave
 
New hbs round 1 deadline is september 16, 2013 new mit sloan essay questions...
New hbs round 1 deadline is september 16, 2013  new mit sloan essay questions...New hbs round 1 deadline is september 16, 2013  new mit sloan essay questions...
New hbs round 1 deadline is september 16, 2013 new mit sloan essay questions...
 

Similar to Remote Android Rendering

UplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformUplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformSatya Harish
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Developer Network
 
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)DevGAMM Conference
 
Cloud Graphical Rendering: A New Paradigm
Cloud Graphical Rendering:  A New ParadigmCloud Graphical Rendering:  A New Paradigm
Cloud Graphical Rendering: A New ParadigmJoel Isaacson
 
Raheel Khalid (Envrmnt by Verizon): Cloud XR Experience on 5G with Mobile Edg...
Raheel Khalid (Envrmnt by Verizon): Cloud XR Experience on 5G with Mobile Edg...Raheel Khalid (Envrmnt by Verizon): Cloud XR Experience on 5G with Mobile Edg...
Raheel Khalid (Envrmnt by Verizon): Cloud XR Experience on 5G with Mobile Edg...AugmentedWorldExpo
 
“Jumpstart Your Edge AI Vision Application with New Development Kits from Avn...
“Jumpstart Your Edge AI Vision Application with New Development Kits from Avn...“Jumpstart Your Edge AI Vision Application with New Development Kits from Avn...
“Jumpstart Your Edge AI Vision Application with New Development Kits from Avn...Edge AI and Vision Alliance
 
High End Modeling & Imaging with Intel Iris Pro Graphics
High End Modeling & Imaging with Intel Iris Pro GraphicsHigh End Modeling & Imaging with Intel Iris Pro Graphics
High End Modeling & Imaging with Intel Iris Pro GraphicsIntel® Software
 
Building Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDKBuilding Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDKDataLeader.io
 
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...DevClub_lv
 
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJSFestUA
 
“Tensilica Processor Cores Enable Sensor Fusion for Robust Perception,” a Pre...
“Tensilica Processor Cores Enable Sensor Fusion for Robust Perception,” a Pre...“Tensilica Processor Cores Enable Sensor Fusion for Robust Perception,” a Pre...
“Tensilica Processor Cores Enable Sensor Fusion for Robust Perception,” a Pre...Edge AI and Vision Alliance
 
[03 1][gpu용 개발자 도구 - parallel nsight 및 axe] miller axe
[03 1][gpu용 개발자 도구 - parallel nsight 및 axe] miller axe[03 1][gpu용 개발자 도구 - parallel nsight 및 axe] miller axe
[03 1][gpu용 개발자 도구 - parallel nsight 및 axe] miller axelaparuma
 
AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...
AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...
AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...Amazon Web Services
 
TES Electronic Solutions System on Silicon and Design Capabilities
TES Electronic Solutions System on Silicon and Design CapabilitiesTES Electronic Solutions System on Silicon and Design Capabilities
TES Electronic Solutions System on Silicon and Design CapabilitiesGuenter Zeisel
 
The Intel NUC 12 Extreme Kit is a compact workstation that can handle compute...
The Intel NUC 12 Extreme Kit is a compact workstation that can handle compute...The Intel NUC 12 Extreme Kit is a compact workstation that can handle compute...
The Intel NUC 12 Extreme Kit is a compact workstation that can handle compute...Principled Technologies
 
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8Microsoft Mobile Developer
 
Kinect on Android Pandaboard
Kinect on Android PandaboardKinect on Android Pandaboard
Kinect on Android Pandaboardumituzun84
 
IoT consideration selection
IoT consideration selectionIoT consideration selection
IoT consideration selectionYoss Cohen
 
VISION Technology from AMD Powered by AMD E-Series & C-Series APUs
VISION Technology from AMD Powered by AMD E-Series & C-Series APUsVISION Technology from AMD Powered by AMD E-Series & C-Series APUs
VISION Technology from AMD Powered by AMD E-Series & C-Series APUsAdditionalResources
 

Similar to Remote Android Rendering (20)

UplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformUplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform
 
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
 
Cloud Graphical Rendering: A New Paradigm
Cloud Graphical Rendering:  A New ParadigmCloud Graphical Rendering:  A New Paradigm
Cloud Graphical Rendering: A New Paradigm
 
Raheel Khalid (Envrmnt by Verizon): Cloud XR Experience on 5G with Mobile Edg...
Raheel Khalid (Envrmnt by Verizon): Cloud XR Experience on 5G with Mobile Edg...Raheel Khalid (Envrmnt by Verizon): Cloud XR Experience on 5G with Mobile Edg...
Raheel Khalid (Envrmnt by Verizon): Cloud XR Experience on 5G with Mobile Edg...
 
“Jumpstart Your Edge AI Vision Application with New Development Kits from Avn...
“Jumpstart Your Edge AI Vision Application with New Development Kits from Avn...“Jumpstart Your Edge AI Vision Application with New Development Kits from Avn...
“Jumpstart Your Edge AI Vision Application with New Development Kits from Avn...
 
High End Modeling & Imaging with Intel Iris Pro Graphics
High End Modeling & Imaging with Intel Iris Pro GraphicsHigh End Modeling & Imaging with Intel Iris Pro Graphics
High End Modeling & Imaging with Intel Iris Pro Graphics
 
Building Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDKBuilding Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDK
 
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
 
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
 
“Tensilica Processor Cores Enable Sensor Fusion for Robust Perception,” a Pre...
“Tensilica Processor Cores Enable Sensor Fusion for Robust Perception,” a Pre...“Tensilica Processor Cores Enable Sensor Fusion for Robust Perception,” a Pre...
“Tensilica Processor Cores Enable Sensor Fusion for Robust Perception,” a Pre...
 
[03 1][gpu용 개발자 도구 - parallel nsight 및 axe] miller axe
[03 1][gpu용 개발자 도구 - parallel nsight 및 axe] miller axe[03 1][gpu용 개발자 도구 - parallel nsight 및 axe] miller axe
[03 1][gpu용 개발자 도구 - parallel nsight 및 axe] miller axe
 
Really fast Android
Really fast AndroidReally fast Android
Really fast Android
 
AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...
AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...
AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...
 
TES Electronic Solutions System on Silicon and Design Capabilities
TES Electronic Solutions System on Silicon and Design CapabilitiesTES Electronic Solutions System on Silicon and Design Capabilities
TES Electronic Solutions System on Silicon and Design Capabilities
 
The Intel NUC 12 Extreme Kit is a compact workstation that can handle compute...
The Intel NUC 12 Extreme Kit is a compact workstation that can handle compute...The Intel NUC 12 Extreme Kit is a compact workstation that can handle compute...
The Intel NUC 12 Extreme Kit is a compact workstation that can handle compute...
 
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
 
Kinect on Android Pandaboard
Kinect on Android PandaboardKinect on Android Pandaboard
Kinect on Android Pandaboard
 
IoT consideration selection
IoT consideration selectionIoT consideration selection
IoT consideration selection
 
VISION Technology from AMD Powered by AMD E-Series & C-Series APUs
VISION Technology from AMD Powered by AMD E-Series & C-Series APUsVISION Technology from AMD Powered by AMD E-Series & C-Series APUs
VISION Technology from AMD Powered by AMD E-Series & C-Series APUs
 

Recently uploaded

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Recently uploaded (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Remote Android Rendering

  • 1. Remote Android Rendering Joel Isaacson Ascender Technologies Ltd. Copyright 2013 Joel Isaacson
  • 2. 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 Ascender Technologies Ltd Remote Rendering
  • 3. The Problem: Pixel Count 2008-2011 Copyright Romain Guy, Chet Haas, Google I/O 2011 Ascender Technologies Ltd Remote Rendering
  • 4. The Problem: Pixel Count 2008-2012 Ascender Technologies Ltd Remote Rendering
  • 5. Android Graphics Stack Ascender Technologies Ltd Remote Rendering
  • 6. Choosing How To Export Graphics ● Graphics can be exported from any of the four levels of the graphics stack – – Toolkit level – Rendering level – ● Application level Pixel level We choose to export the rendering level. Ascender Technologies Ltd Remote Rendering
  • 7. Exporting The Toolkit and 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. Ascender Technologies Ltd Remote Rendering
  • 8. Exporting The Toolkit and 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. This talk will show that effectively exporting graphics at the toolkit level and even the application level is in fact possible via the rendering API. Ascender Technologies Ltd Remote Rendering
  • 9. The GUI Rendering Layer Expanded Ascender Technologies Ltd Remote Rendering
  • 10. NDK App With OpenGL Ascender Technologies Ltd Remote Rendering
  • 11. NDK App With Skia Rendering Ascender Technologies Ltd Remote Rendering
  • 12. Android Remote Rendering Ascender Technologies Ltd Remote Rendering
  • 13. Android Remote Rendering No GPU on Server Needed Ascender Technologies Ltd Remote Rendering
  • 14. 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 416 Mbytes for uncompressed frames. The compression encodes 2-4 rendering operations per byte (2-4 bits per rendering operation). Ascender Technologies Ltd Remote Rendering
  • 15. The Google Play Universe API Coverage Ascender Technologies Ltd Remote Rendering
  • 16. 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. Ascender Technologies Ltd Remote Rendering
  • 17. 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. Ascender Technologies Ltd Remote Rendering

Editor's Notes

  1. For many years it has been possible to access graphical application via remote desktop software. In recent years Cloud computing has become more prominent and is a crucial computing paradigm. Android has captured a large market share. The challenge addressed in this talk is to efficiently export Android graphics so as to support standard Android apps remotely.
  2. Current techniques to provide remote graphic access are pixel based. An example of pixel-based remote Android graphics is: Amazon's test drive, which allows remote demos of Android apps before purchase. Pixel based solutions force compromise on all four performance properties: ● Resolution ● Accuracy● Frame Rate● Latency Our techniques allow un-compromised performance coupled with very low network bandwidth.
  3. This slide was presented at Google I/O May 2011. It shows the increase of pixel count as opposed to memory bandwidth as a function of time. It was introduced to motivate use of hardware rendering (OpenGL) as opposed to software rendering (Skia), Guy and Haas argue that the memory bus is just too slow to allow software rendering. The argument is much more powerful when applied to network bandwidth which is orders of magnitude slower than the internal memory bus.
  4. Here the original slide (the blue rectangle) is updated to current display resolutions. In just a year and a half the number of pixels (e.g. Nexus 10) has increased by a factor of four. Both the internal memory bandwidth and the network bandwidth are only slowly improving. This increase in pixel counts makes remote Android graphics more challenging. Another change that makes remote Android graphics even more difficult is the 60 frame/sec standard that has been adopted since ICS (Ice Cream Sandwich)..
  5. Normally Android apps are installed locally on the local device. No remote bandwidth is needed to view the graphics. Remote graphics is typically done by exporting pixels at the Framebuffer level. For a 4 Mega pixel device (e.g. Nexus 10) at 60 fps a 1 Gbytes/sec network is needed. Even if a 100x (100 fold reduction of data volume) compression codec is used, a 10 Mbytes (80 Mbits)/sec network is needed.
  6. As shown in the previous slide, the volume of network data needed to export the graphic stream increases as we approach the pixel level. The higher the layer exported, the more compact and efficient the graphical representation. We use the rendering layer to export graphics. The volume of data needed is approximately 100 times less than the pixel level.
  7. Exporting the app at the toolkit level would undoubtedly be more efficient, but a direct approach will not work. The toolkit is dynamically extensible and there is no way to reference on both the server and client side the same toolkit elements.
  8. The data compression algorithm reduces the volume of data to less than the toolkit level. The rendering stream is scanned for sequences of commands that are reversed engineered into both application and toolkit level routines. These routines are entered into dictionaries shared by both the encoding (server) and decoding (client) ends. Long sequences of rendering commands are sent by simple reference to the dictionary entries from the server to the client. More details can be found on the URL: http://www.ascender.com/remote-graphics
  9. There are four natural targets for exporting graphics in the rendering layer in the ICS graphic stack. We tested the first three ¬, ­, ® by building prototypes. The fourth target, ¯, is technically very similar to ¬. The right branch of the rendering stack (¬, ­) is part of Android since the Honeycomb version. It is usually called Hardware rendering. The left branch of the rendering stack (®, ¯) was present in the Android graphic stack from its first release. It is usually called Software rendering.
  10. Android allows native OpenGL apps to be written using the NDK. We remotely accessed these applications by using the our remote enabled OpenGL (­) rendering layer
  11. Android allows native Skia (software rendering) apps to be written using the NDK. We remotely accessed these applications by using our remote enabled Skia (®) rendering layer.
  12. This slide illustrates the systems architecture of the remote server and the local client. We send the graphic rendering from the server to the client in a purely simplex (one-way) connection. Thus, no round trip delays are incurred in the graphics streaming. User interactions will cause round trip latencies.
  13. This slide illustrates an important feature of our remote graphics system. Since the rendered pixels are not needed on the remote side only the upper part of the rendering interface need be executed on the remote end. Thus for hardware rendering (OpenGL) the lower level, which is dependent on a hardware GPU, is not needed. This greatly reduces the cost of running the graphic stack on the remote side. For software rendering (Skia) the lower level, which actually does the computationally intensive pixel rendering, is not needed. This greatly reduces the computational needs on the remote side.
  14. The compression ratio can be understood to be a product of two factors: 1) The rendering layer is about 100 times more efficient for remote graphics than the pixel layer. 2) The compression routines add an additional factor of about 100. We can thus render remotely at 60 fps with a bandwidth of typically less than 20 Kbytes/sec. With no compromise of ● Resolution ● Accuracy● Frame Rate● Latency
  15. The reason that so many rendering API's are supported relates to coverage. In the context of an Android app store it is the percentage of apps that can be supported via remote rendering. You would like to remotely support a large percentage of unaltered apps as they currently exist in the app store. The above Venn diagram illustrates the overlapping coverages for each rendering API. For example: to support Java ICS apps, which render to OpenGL ES 2.0., it is sufficient to support the yellow OpenGLRender API (¬). To support a Java Froyo app the green Canvas (¯) or blue Skia (®) API is sufficient. More sophisticated apps might need red OpenGL ES 2.0 API (­) support.
  16. It is instructive to contrast our approach with the Nvidia Grid or OnLive cloud gaming systems. Both need expensive hardware and use a large amount of network bandwidth.
  17. The enabling technologies that allow for Remote Android Graphics have many uses: Cloud computing, remote app server App library, subscription model App demos Remote enterprise applications Set-top boxes Cloud Gaming