Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

Similar documents
Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

Applications and Implementations

Bringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse

<Insert Picture Here> JavaFX 2.0

Applications and Implementations

POWERVR MBX & SGX OpenVG Support and Resources

OpenMAX AL, OpenSL ES

Khronos and the Mobile Ecosystem

Dave Shreiner, ARM March 2009

phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr

Introduction to creating 3D UI with BeagleBoard. ESC-341 Presented by Diego Dompe

Adding Advanced Shader Features and Handling Fragmentation

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD

Copyright Khronos Group, Page 1

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair

<Insert Picture Here> JavaFX Overview April 2010

Copyright Khronos Group, Page 1

Completing the Multimedia Architecture

Petr Suchomel Architect, NetBeans Mobility

WebGL Meetup GDC Copyright Khronos Group, Page 1

The Mobile Internet: The Potential of Handhelds to Bring Internet to the Masses. April 2008

Mobile AR Hardware Futures

The Handheld Graphics. Market. Size, needs, and opportunities. Jon Peddie Research

Hands-On Workshop: An Introduction to OpenVG

AR Standards Update Austin, March 2012

Copyright Khronos Group, Page 1

Accelerating Realism with the (NVIDIA Scene Graph)

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

Mobile graphics API Overview

OpenGL ES 2.0 : Start Developing Now. Dan Ginsburg Advanced Micro Devices, Inc.

JavaFX. JavaFX Overview Release E

Java FX 2.0. Dr. Stefan Schneider Oracle Deutschland Walldorf-Baden

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1

More performance options

Streaming Media. Advanced Audio. Erik Noreke Standardization Consultant Chair, OpenSL ES. Copyright Khronos Group, Page 1

Profiling and Debugging Games on Mobile Platforms

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0

Copyright Khronos Group Page 1

HTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager

GoForce 3D: Coming to a Pixel Near You

JavaFX Technology Building GUI Applications With JavaFX - Tutorial Overview

Overview of the OpenVG, a vector graphics API and Introduction to IWAYAG, an native OpenVG accelerator

The Mobile Advantage. Erik Noreke Independent Standardization Consultant Chair, OpenSL ES. Copyright Khronos Group, Page 1

Minne menet, Mobiili-Java?

SIGGRAPH Briefing August 2014

Working with Metal Overview

Embedded Media Processing Ecosystem

Overview. Technology Details. D/AVE NX Preliminary Product Brief

Copyright Khronos Group, Page 1. Khronos Overview. Taiwan, February 2012

The Application Stage. The Game Loop, Resource Management and Renderer Design

Creating the Embedded Media Processing Ecosystem

Module Introduction. Content 15 pages 2 questions. Learning Time 25 minutes

User Interface. Technology Domain Roadmap & Strategy. 22 February 2010 Scott Weiss, UI Technology Manager

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen

What's New In Mobile & Embedded Java? A Technology Update

ArcGIS Runtime: Building Cross-Platform Apps. Mike Branscomb Michael Tims Tyler Schiewe

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Software Development & Education Center. Java Platform, Micro Edition. (Mobile Java)

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

MMAPI (Mobile Media API) Multimedia Framework for Mobile Devices

JavaFX Overview. Peter Doschkinow Software Architekt Sun Microsystems

Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1

OpenCL Press Conference

Java Embedded on ARM

OpenGL BOF Siggraph 2011

What was removed? (1) OpenGL ES vs. OpenGL

ArcGIS Runtime: Maximizing Performance of Your Apps. Will Jarvis and Ralf Gottschalk

Graphics Programming. Computer Graphics, VT 2016 Lecture 2, Chapter 2. Fredrik Nysjö Centre for Image analysis Uppsala University

Interaktionsprogrammering TDDD13 + TDDC73

Grafica Computazionale: Lezione 30. Grafica Computazionale. Hiding complexity... ;) Introduction to OpenGL. lezione30 Introduction to OpenGL

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

Coding OpenGL ES 3.0 for Better Graphics Quality

Radical GUI Makeover with Ajax Mashup

Exploring different facets of the bustling mobile content world

WebGL (Web Graphics Library) is the new standard for 3D graphics on the Web, designed for rendering 2D graphics and interactive 3D graphics.

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

OpenGL ES update. Eisaku Ohbuchi Digital Media Professionals Inc.

GPU Memory Model Overview

Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1

GPU Quality and Application Portability

Developing the Roadmap - Director Next Survey

Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics. Sean Ellis Consultant Graphics Engineer ARM, Maidenhead

The PowerVR Insider SDK. PowerVR Developer Technology

Our Technology Expertise for Software Engineering Services. AceThought Services Your Partner in Innovation

Performance Driven Development on Low- Cost Embedded Hardware Increasing Return-On-Investment & shortening time-to-market

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games

GPGPU on Mobile Devices

WebGL. Announcements. WebGL for Graphics Developers. WebGL for Web Developers. Homework 5 due Monday, 04/16. Final on Tuesday, 05/01

Jomar Silva Technical Evangelist

Developing Mobile 3D Applications with OpenGL ES and M3G

LAB-6340: Advanced Java ME Programming - Streaming Video From Server to Your Device

ARM Mali -400 MP. The Scalable Multicore Graphics Processing Unit. Under embargo until June 2 nd, 2008

Developing Games for J2ME Technology- Enabled Mobile Devices

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Copyright Khronos Group 2012 Page 1. OpenCL 1.2. August 2012

Firefox for Android. Reviewer s Guide. Contact us:

PowerVR: Getting Great Graphics Performance with the PowerVR Insider SDK. PowerVR Developer Technology

TOON BOOM HARMONY 12.1 Preferences Guide

WebGL, WebCL and Beyond!

Transcription:

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications Pavel Petroshenko, Sun Microsystems Jan Valenta, Sun Microsystems Jerry Evans, Sun Microsystems

Goal of this Session Demonstrate high performance graphics capabilities of JavaME and JavaFX Mobile Platforms. Describe how we optimized the platform to leverage hardware acceleration. Demonstrate how platform optimizations help to run compelling graphical applications on the platform. 2

Agenda > JavaME Platform overview > Graphics acceleration APIs > HW acceleration on Java Mobile platform > JavaFX Mobile Platform overview > JavaFX Mobile Platform performance > References 3

Why accelerate? > Reach content developers More features/higher applications complexity Richer UI and graphics content Interactivity > Device characteristics Larger screen sizes/higher pixel density Limited CPU capabilities 4

JavaME Platform Overview Java Technology MIDlet Graphics & Media JSRs CLDC/CDC Virtual Virtual Machine Native Gfx Libraries OS GPU CPU 5

JavaME Platform implementation Java Technology MIDlet JSR 226 (SVG Tiny) JSR 239 (OpenGL ES) CLDC/CDC Virtual Virtual Machine Khronos APIs OS GPU CPU 6

JSR 226 > Scalable 2D Vector Graphics API for Java Micro Edition (JavaME platform) Java API to draw, manipulate and animate SVG Tiny 1.1 content Part of Mobile Service Architecture (JSR 248) wide deployment 7

JSR 239 > JSR 239 defines Java bindings to the OpenGL ES 1.0 and 1.1 > Immediate mode API Highly flexible control of rendering > Low level hardware oriented 3D API > Access to latest hardware features 8

Khronos Media Acceleration APIs > Khronos APIs Royalty-free, cross-platform Supported by a large number of hardware vendors for mobile devices > OpenGL ES - 3D graphics on embedded systems > OpenVG Low-level API for 2D vector graphics > EGL interface between Khronos rendering APIs and the underlying native platform > OpenMAX - Streaming media acceleration 9

OpenGL ES > 2D and 3D graphics on embedded systems Subset of desktop OpenGL OpenGL ES - specific extensions > OpenGL ES 1.x For fixed-function hardware > OpenGL ES 2.x For programmable hardware 10

OpenVG > OpenVG 1.0 Low level graphics API specially designed for 2D vector graphics (SVG, Flash) Support for raster graphics as well > OpenVG 1.1 Adds accelerated text rendering and multisampled antialiasing > Can be implemented on top of OpenGL ES implementation > Wide variety of applications 11

Coprocessors & Hardware Accelerators > Support of graphics/video accelerators is essential for gaming experience > JIT Compiler needs to be aware of JSR implementation > Floating-point coprocessors ARM VFP > ARM Jazelle DBX makes cold startup faster > Instruction set extensions (XScale, Jazelle RCT) 12

JSR 226 Demo > TI OMAP 3440 (Zoom MDK) > SVG content courtesy of http://www.tinyline.com 13

JSR 239 Demo > JBenchmark239 application http://www.jbenchmark.com > Running on a development phone 14

JavaFX, JavaFX Mobile > The language Bindings, declarations, sequences, interpolation Simplified content authoring > Desktop, Browser, Mobile, TV,... Common vs. Desktop Profile (Swing, advanced visual effects) > Tools support IDE plugins, designer suites > Full access to Java classes 15

JavaFX Mobile > Brings expressive, rich user interface to mobile world > Helps to solve the fragmentation issue > Easy: Development of GUI thanks to the language and tools, Access to phone features thanks to Java ME > Are today's phone powerful enough? Yes, but there is never enough performance HW acceleration is important 16

file:///c:/pavel/local%20settings/temp/emul3.png JavaFX Mobile in Java ME SDK 3.0 > Based on Netbeans platform > Works on Windows, soon on Linux and MacOS > Mobile emulator skins with JavaFX Mobile support > Allows profiling JavaFX Mobile applications 17

FX Players Architectures We focus on accelerated players Generic Player Acc'd Player Acc'd Player JavaFX Scenegraph JavaME Scenegraph Rendering API generic rasterizer implementation Memory buffer OpenVG OpenVG compatibility layer OpenVG on OpenGL ES adapter OpenGL ES 18

Rendering API > General graphical low level Java API Based on API used in PhoneME Path, stroke, fills (radial and linear gradients, solid color), images, textures, transformations, clipping Antialiasing and transparency support Rendering model similar to SVG, Flash > Implementations: Software renderer: memory surface (multiple types), portable, C language OpenVG acceleration OpenGL ES acceleration 19

Scenegraphs > Layers between JavaFX Script and the renderer > Keeps track of the scene structure, both visually and logically. Tree graph of the scene. > JavaFX Scenegraph Interfaces JavaFX and Java Preserves scene hierarchy, remembers nodes javafx.scene.scene class > Java Scenegraph Level of shapes, images, paths Nodes, state, animation, effects 20

JavaFX Demo#1 > HTC Touch Diamond OpenGL ES based HW acceleration Powered by AmanithVG MediaStore 21

JavaFX Demos#2 > TI OMAP 3430 Zoom MDK OpenVG based HW acceleration Image benchmark 15 fps vs. 45 fps FishSim 0.6 fps vs. 15 fps, 99% CPU vs. 15%CPU 22

JavaFX Demo#3 > HTC Touch Diamond FishSim side by side Powered by AmanithVG 23

For More Information > PhoneME - http://phoneme.dev.java.net/ > JavaFX - http://javafx.com > JavaFX Mobile - http://www.sun.com/software/javafx/mobile/ > Java ME SDK 3.0 - http://java.sun.com/javame/downloads/sdk30.jsp > Khronos APIs - http://www.khronos.org > TI OMAP Zoom MDK page - http://www.omapzoom.org > AmanithVG - http://www.amanithvg.com 24

Pavel Petroshenko (pavel.petroshenko@sun.com) Jan Valenta (jan.valenta@sun.com) Jerry Evans (jerry.evans@sun.com)