java fx on raspberry pi gerrit grunwald

76

Upload: nljug

Post on 10-May-2015

647 views

Category:

Technology


8 download

TRANSCRIPT

Page 1: Java fx on raspberry pi   gerrit grunwald
Page 2: Java fx on raspberry pi   gerrit grunwald

Gerrit Grunwald !!!!

canoo Engineering AG

TWITTER: @hansolo_ WEB: harmonic-code.org

Page 3: Java fx on raspberry pi   gerrit grunwald

first...

Page 4: Java fx on raspberry pi   gerrit grunwald

what embedded

IS...

Page 5: Java fx on raspberry pi   gerrit grunwald

the point of view

...depends on

Page 6: Java fx on raspberry pi   gerrit grunwald

Hardware

Developer

Page 7: Java fx on raspberry pi   gerrit grunwald

Software

Developer

Page 8: Java fx on raspberry pi   gerrit grunwald

JAVA ONE 2012

Page 9: Java fx on raspberry pi   gerrit grunwald

KioskJavaFX

powe

red

Page 10: Java fx on raspberry pi   gerrit grunwald

running on...

Page 11: Java fx on raspberry pi   gerrit grunwald

BoardPanda

Page 12: Java fx on raspberry pi   gerrit grunwald

CPU : ARM A9 DualCore Clock: 1.2 GHz Ram : 1 GB GPU : Power VR SGX540

Page 13: Java fx on raspberry pi   gerrit grunwald

Question...

Page 14: Java fx on raspberry pi   gerrit grunwald

Why Java?

Page 15: Java fx on raspberry pi   gerrit grunwald

Benefits of Java★ Superb developer toolchain ★ Mature, fast, widespread ★ Thousands of libraries ★ Huge community ★ No standard on embedded

Page 16: Java fx on raspberry pi   gerrit grunwald

Ok but...

Page 17: Java fx on raspberry pi   gerrit grunwald

JavaFX

WTF ?

Page 18: Java fx on raspberry pi   gerrit grunwald

Possible

USECASES5

Page 19: Java fx on raspberry pi   gerrit grunwald

★Home automation

★Home entertainment

★Medical devices

★ Information Kiosks

★Education

Page 20: Java fx on raspberry pi   gerrit grunwald

EMBEDDED ?WHAT IS JAVAFX ON

Page 21: Java fx on raspberry pi   gerrit grunwald

A Subset of

JAVAF X

Page 22: Java fx on raspberry pi   gerrit grunwald

Without support for

★ Swing/SWT ★ System Menu ★ Drag'n Drop ★ WebView ★ Media (e.g. AudioClip)

Page 23: Java fx on raspberry pi   gerrit grunwald

Available JDK's

★JDK 7 (JFX 2)* ★JDK 8 (JFX 8)

11/2013

*dev. prev. from 2012

Page 24: Java fx on raspberry pi   gerrit grunwald

Target* footprint

MIN ~16 MB

*~32 MB today

Page 25: Java fx on raspberry pi   gerrit grunwald

PLATFORMS ?WHAT ARE THE SUPPORTED

11/2013

Page 26: Java fx on raspberry pi   gerrit grunwald

BeagleBoard xM

!

!

Raspberry Pi

Page 27: Java fx on raspberry pi   gerrit grunwald

xMBeagleBoard

Page 28: Java fx on raspberry pi   gerrit grunwald

★ ARM A8, 1 GHz ★ 512 MB RAM ★ 4 x USB ★ ETHERNET RJ45 ★ HDMI ★ I2C, JTAG, SPI

Page 29: Java fx on raspberry pi   gerrit grunwald

running on

Ångströmbased on Debian

Page 30: Java fx on raspberry pi   gerrit grunwald

xMBeagleBoard

JDK 7 JavaFX 2

dev. preview of 2012 with SoftFloat support

Page 31: Java fx on raspberry pi   gerrit grunwald

PiRaspberry

Page 32: Java fx on raspberry pi   gerrit grunwald

★ ARM v6, 700 MHz ★ 512 MB RAM ★ 2 x USB ★ ETHERNET RJ45 ★ HDMI, COMPOSITE ★ GPIO, I2C, UART, SPI

Page 33: Java fx on raspberry pi   gerrit grunwald

running on

Raspbianbased on Debian

Page 34: Java fx on raspberry pi   gerrit grunwald

PiRaspberry

JDK 8 JavaFX 8

weekly dev. preview with HardFloat support

Page 35: Java fx on raspberry pi   gerrit grunwald

A typical

Setup

Page 36: Java fx on raspberry pi   gerrit grunwald

PiRaspberry

Page 37: Java fx on raspberry pi   gerrit grunwald

70$

Page 38: Java fx on raspberry pi   gerrit grunwald

PiRaspberry

Page 39: Java fx on raspberry pi   gerrit grunwald

220$

Page 40: Java fx on raspberry pi   gerrit grunwald

JavaSo...having

means...

Page 41: Java fx on raspberry pi   gerrit grunwald

ANYWHEREWRITE ONCE RUN ?

Page 42: Java fx on raspberry pi   gerrit grunwald

SOMEFACTS

FIRST...

Page 43: Java fx on raspberry pi   gerrit grunwald

Intel i7 Quadcore 2.3 GHz

16 GB ram

Nvidia GeForce GT 650m

ARM A8 1 Ghz

512 MB ram

Power VR SGX series 5

Macbook Pro BeagleBoard xM

Page 44: Java fx on raspberry pi   gerrit grunwald

Nvidia GeForce GT 650m

Power VR SGX series 5

Macbook Pro BeagleBoard xM

★ 384 Cores ★ ~15 GPixel/s ★ ~600 GFlops

★ 1 Core ★ ~500 MPixel/s ★ ~1.6 GFlops

Page 45: Java fx on raspberry pi   gerrit grunwald

REQUIREMENTSEmbedded

Page 46: Java fx on raspberry pi   gerrit grunwald

Requirements

★ touchable user interface ★ reasonable controls ★ no mouse and keyboard ★ restriced screen estate

Page 47: Java fx on raspberry pi   gerrit grunwald

CONCLUSION

Page 48: Java fx on raspberry pi   gerrit grunwald

ANYWHEREWRITE ONCE RUN!NO

Page 49: Java fx on raspberry pi   gerrit grunwald

RECYCLE A LOTBut you can

Page 50: Java fx on raspberry pi   gerrit grunwald

FROM MOBILEand learn

60 cm 50 mm90 m

m

34 cm

Page 51: Java fx on raspberry pi   gerrit grunwald

Some words about

Graphics

Page 52: Java fx on raspberry pi   gerrit grunwald

The Scene Graph

Root

LeafBranch Branch

Leaf Branch Leaf Leaf Branch

Node

Page 53: Java fx on raspberry pi   gerrit grunwald

Retained Mode

Rendering

Page 54: Java fx on raspberry pi   gerrit grunwald

SPEED LIMIT

60

Page 55: Java fx on raspberry pi   gerrit grunwald

The Scene Graph★ Each node is about 5-7 kb ★ Desktop could handle up to

100000 nodes ★ Embedded devices can

handle up to 1000 nodes !!!

Page 56: Java fx on raspberry pi   gerrit grunwald

But what does it

mean ?

Page 57: Java fx on raspberry pi   gerrit grunwald

To visualize

Data…

Page 58: Java fx on raspberry pi   gerrit grunwald

do we need this ?

Page 59: Java fx on raspberry pi   gerrit grunwald

isn't this enough ?

Page 60: Java fx on raspberry pi   gerrit grunwald

or what about this

Page 61: Java fx on raspberry pi   gerrit grunwald

or even this...

Page 62: Java fx on raspberry pi   gerrit grunwald

CONTENT

IT'S ABOUT

OVER CHROME

Page 63: Java fx on raspberry pi   gerrit grunwald

But why is it

important ?

Page 64: Java fx on raspberry pi   gerrit grunwald

3 Nodes

CHROMECONTENT

245 Nodes

Page 65: Java fx on raspberry pi   gerrit grunwald

3 Nodes

COMPROMISE 1CONTENT

33 Nodes

Page 66: Java fx on raspberry pi   gerrit grunwald

3 Nodes

COMPROMISE 2CONTENT

16 Nodes

Page 67: Java fx on raspberry pi   gerrit grunwald

3 Nodes

COMPROMISE 3CONTENT

6 Nodes

Page 68: Java fx on raspberry pi   gerrit grunwald

BETTER AVOIDThings you

Page 69: Java fx on raspberry pi   gerrit grunwald

Things to avoid

★ huge amount of nodes ★ intense use of animations ★ intense use of effects ★ many overlapping nodes ★ memory intense operations

Page 70: Java fx on raspberry pi   gerrit grunwald

Some UI

Examples

Page 71: Java fx on raspberry pi   gerrit grunwald

Example UI (200 nodes)

Page 72: Java fx on raspberry pi   gerrit grunwald

Example UI (100 nodes)

Page 73: Java fx on raspberry pi   gerrit grunwald

Example UI (60 nodes)

Page 74: Java fx on raspberry pi   gerrit grunwald

Conclusion

Page 75: Java fx on raspberry pi   gerrit grunwald

really rocks...JAVA(FX) ON EMBEDDED

Page 76: Java fx on raspberry pi   gerrit grunwald

Demo