SlideShare a Scribd company logo
Java fx on raspberry pi   gerrit grunwald
Gerrit
Grunwald
!
!
!
!

canoo
TWITTER: @hansolo_

Engineering AG

WEB: harmonic-code.org
first...
what embedded

IS...
...depends on
the point of view
Hardware

Developer
Software

Developer
JAVA ONE
2012
JavaFX
po

we

red

Kiosk
running
on...
Panda

Board
CPU : ARM A9 DualCore
Clock: 1.2 GHz
Ram : 1 GB
GPU : Power VR SGX540
Question...
Why Java?
Benefits of Java
Superb developer toolchain
★ Mature, fast, widespread
★ Thousands of libraries
★ Huge community
★ No standard on embedded
★
Ok but...
WTF ?

JavaFX
5

Possible

USE
CASES
★ Home

automation
★ Home entertainment
★ Medical devices
★ Information Kiosks
★ Education
WHAT IS JAVAFX ON

EMBEDDED ?
F
JAVA X

A Subset of
Without support for
Swing/SWT
★ System Menu
★ Drag'n Drop
★ WebView
★ Media (e.g. AudioClip)
★
Available JDK's

11/2013

★

JDK 7 (JFX 2)*

★

JDK 8 (JFX 8)
*dev. prev. from 2012
Target* footprint
6
1
~
N

B
M

I
M

*~32 MB today
WHAT ARE THE SUPPORTED

PLATFORMS ?
11/2013
BeagleBoard xM
!

!

Raspberry Pi
xM
BeagleBoard
ARM A8, 1 GHz
★ 512 MB RAM
★ 4 x USB
★ ETHERNET RJ45
★ HDMI
★ I2C, JTAG, SPI
★
running on

Ångström
based on Debian
JDK 7
JavaFX 2

xM
BeagleBoard

dev. preview of 2012
with SoftFloat support
Pi
Raspberry
ARM v6, 700 MHz
★ 512 MB RAM
★ 2 x USB
★ ETHERNET RJ45
★ HDMI, COMPOSITE
★ GPIO, I2C, UART, SPI
★
running on

Raspbian
based on Debian
JDK 8
JavaFX 8

Pi
Raspberry

weekly dev. preview
with HardFloat support
A typical

Setup
Pi
Raspberry
$ 70
Pi
Raspberry
$ 220
So...having

Java
means...
WRITE ONCE RUN

ANYWHERE

?
FIRST...

SOME
FACTS
Macbook Pro

BeagleBoard xM

Intel i7 Quadcore
2.3 GHz

ARM A8
1 Ghz

16 GB ram

512 MB ram

Nvidia GeForce
GT 650m

Power VR
SGX series 5
Macbook Pro

BeagleBoard xM

Nvidia GeForce
GT 650m

Power VR
SGX series 5

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

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

REQUIREMENTS
Requirements
★

touchable user interface

★

reasonable controls

★

no mouse and keyboard

★

restriced screen estate
CONCLUSION
NO

WRITE ONCE RUN

ANYWHERE

!
But you can

RECYCLE A LOT
60 cm

50 mm

FROM MOBILE

90 mm

34 cm

and learn
Some words about

Graphics
The Scene Graph
Root
Node

Branch

Leaf

Branch

Branch

Leaf

Leaf

Leaf

Branch
Retained Mode

Rendering
SPEED
LIMIT

60
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 !!!
★
But what does it

mean ?
To visualize

Data…
do we need this ?
isn't this enough ?
or what about this
or even this...
IT'S ABOUT

CONTENT OVER CHROME
But why is it

important ?
CONTENT

CHROME

3 Nodes

245 Nodes
CONTENT

COMPROMISE 1

3 Nodes

33 Nodes
CONTENT

COMPROMISE 2

3 Nodes

16 Nodes
CONTENT

COMPROMISE 3

3 Nodes

6 Nodes
Things you

BETTER AVOID
Things to avoid
huge amount of nodes
★ intense use of animations
★ intense use of effects
★ many overlapping nodes
★ memory intense operations
★
Some UI

Examples
Example UI (200 nodes)
Example UI (100 nodes)
Example UI (60 nodes)
Conclusion
JAVA(FX) ON EMBEDDED

really rocks...
Demo

More Related Content

PPTX
The Raspberry Pi JavaFX Carputer
PPTX
Building your own RC Car with Raspberry Pi
PDF
Cars and Computers: Building a Java Carputer
PDF
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PDF
MM-4085, Designing a game audio engine for HSA, by Laurent Betbeder
PDF
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
PDF
PT-4058, Measuring and Optimizing Performance of Cluster and Private Cloud Ap...
PDF
IS-4081, Rabbit: Reinventing Video Chat, by Philippe Clavel
The Raspberry Pi JavaFX Carputer
Building your own RC Car with Raspberry Pi
Cars and Computers: Building a Java Carputer
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
MM-4085, Designing a game audio engine for HSA, by Laurent Betbeder
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
PT-4058, Measuring and Optimizing Performance of Cluster and Private Cloud Ap...
IS-4081, Rabbit: Reinventing Video Chat, by Philippe Clavel

What's hot (20)

PPTX
Do You Like Coffee with Your dessert? Java and the Raspberry Pi - Simon Ritte...
PDF
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
PPTX
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
PDF
Final lisa opening_keynote_draft_-_v12.1tb
PDF
MM-4105, Realtime 4K HDR Decoding with GPU ACES, by Gary Demos
PDF
Interfacing the Raspberry Pi to the World
PDF
Node-RED and Minecraft - CamJam September 2015
PDF
An introduction to workflow-based programming with Node-RED
ODP
Raspberry Pi and Amateur Radio
PDF
CC-4001, Aparapi and HSA: Easing the developer path to APU/GPU accelerated Ja...
PDF
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
PDF
Using GPUs to handle Big Data with Java by Adam Roberts.
PDF
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
PDF
"An Update on Open Standard APIs for Vision Processing," a Presentation from ...
PDF
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...
PPT
IoT evolution
PDF
Node-RED workshop at IoT Toulouse
PDF
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
PPT
IoT consideration selection
PPTX
Introduction To Raspberry Pi with Simple GPIO pin Control
Do You Like Coffee with Your dessert? Java and the Raspberry Pi - Simon Ritte...
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Final lisa opening_keynote_draft_-_v12.1tb
MM-4105, Realtime 4K HDR Decoding with GPU ACES, by Gary Demos
Interfacing the Raspberry Pi to the World
Node-RED and Minecraft - CamJam September 2015
An introduction to workflow-based programming with Node-RED
Raspberry Pi and Amateur Radio
CC-4001, Aparapi and HSA: Easing the developer path to APU/GPU accelerated Ja...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
Using GPUs to handle Big Data with Java by Adam Roberts.
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
"An Update on Open Standard APIs for Vision Processing," a Presentation from ...
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...
IoT evolution
Node-RED workshop at IoT Toulouse
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
IoT consideration selection
Introduction To Raspberry Pi with Simple GPIO pin Control
Ad

Similar to Java fx on raspberry pi gerrit grunwald (20)

PPTX
Porting games from ps3 or web to shield and ouya [final]
PDF
Hacking with ARM Mobile devices on Linux
PDF
High performance json- postgre sql vs. mongodb
PDF
LMG Lightning Talks - SFO17-205
PDF
Power Mac G5 ( Late 2005) Technical Specifications
PDF
Power Mac G5 ( Late 2005) Technical Specifications
PDF
0xdroid osdc-2010-100426084937-phpapp02
PDF
Functional MCU programming #0: Development environment
PPT
Vpu technology &gpgpu computing
PPT
Vpu technology &gpgpu computing
PPT
Vpu technology &gpgpu computing
PPTX
The next generation of GPU APIs for Game Engines
PPTX
Computer systems
PPTX
Panda board
PPT
Vpu technology &gpgpu computing
PDF
Rapid IoT prototyping with mruby
PPTX
High Performance Scaling Techniques in Golang Using Go Assembly
PDF
Embedded Graphics Drivers in Mesa (ELCE 2019)
PDF
meetPHP#8 - PHP startups prototypes
PDF
Quick spec HP Zbook.pdf
Porting games from ps3 or web to shield and ouya [final]
Hacking with ARM Mobile devices on Linux
High performance json- postgre sql vs. mongodb
LMG Lightning Talks - SFO17-205
Power Mac G5 ( Late 2005) Technical Specifications
Power Mac G5 ( Late 2005) Technical Specifications
0xdroid osdc-2010-100426084937-phpapp02
Functional MCU programming #0: Development environment
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
The next generation of GPU APIs for Game Engines
Computer systems
Panda board
Vpu technology &gpgpu computing
Rapid IoT prototyping with mruby
High Performance Scaling Techniques in Golang Using Go Assembly
Embedded Graphics Drivers in Mesa (ELCE 2019)
meetPHP#8 - PHP startups prototypes
Quick spec HP Zbook.pdf
Ad

More from NLJUG (20)

PPTX
The future of Web-Scale - Johan Tillema, Rene Boere & Chris Quach
PPTX
Speedy perception trumps speedy reception–smart asynchronous interactions - L...
PDF
Decoding the airspace above you with Java and $7 hardware - Bert Jan Schrijver
PPTX
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
PPTX
Kill the mutants and test your tests - Roy van Rijn
PDF
Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze
PPTX
The end of traditional enterprise IT - ING's journey to the next generation I...
PDF
Performance van Java 8 en verder - Jeroen Borgers
PDF
Introduction to Reactive with Play and Akka - Markus Jura
PPTX
Web-scale op basis van Hadoop en Akka Reactive Streams - Johan Tillema, Rene ...
PDF
Workshop angular dart presentatie - Atos
PDF
Workshop spring boot presentatie - Atos
PDF
Cultivating the jenkins job jungle with groovy - Patrick van Dissel
PDF
Rethink your architecture - Marten Deinum
PPTX
Evolutionary Algorithms: the key to solving complex Java puzzles! - Bas knopper
PDF
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
PDF
Apache Wicket: 10 jaar en verder - Martijn Dashorst
PDF
Opening - Bert Ertman
PDF
Returning the right results - Jettro Coenradie
PDF
Reactive programming met Java 8 en Java EE 7 - Martijn Blankestijn
The future of Web-Scale - Johan Tillema, Rene Boere & Chris Quach
Speedy perception trumps speedy reception–smart asynchronous interactions - L...
Decoding the airspace above you with Java and $7 hardware - Bert Jan Schrijver
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
Kill the mutants and test your tests - Roy van Rijn
Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze
The end of traditional enterprise IT - ING's journey to the next generation I...
Performance van Java 8 en verder - Jeroen Borgers
Introduction to Reactive with Play and Akka - Markus Jura
Web-scale op basis van Hadoop en Akka Reactive Streams - Johan Tillema, Rene ...
Workshop angular dart presentatie - Atos
Workshop spring boot presentatie - Atos
Cultivating the jenkins job jungle with groovy - Patrick van Dissel
Rethink your architecture - Marten Deinum
Evolutionary Algorithms: the key to solving complex Java puzzles! - Bas knopper
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Apache Wicket: 10 jaar en verder - Martijn Dashorst
Opening - Bert Ertman
Returning the right results - Jettro Coenradie
Reactive programming met Java 8 en Java EE 7 - Martijn Blankestijn

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Cloud computing and distributed systems.
PPTX
Programs and apps: productivity, graphics, security and other tools
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
sap open course for s4hana steps from ECC to s4
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Spectroscopy.pptx food analysis technology
PDF
Approach and Philosophy of On baking technology
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Chapter 3 Spatial Domain Image Processing.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Empathic Computing: Creating Shared Understanding
Cloud computing and distributed systems.
Programs and apps: productivity, graphics, security and other tools
“AI and Expert System Decision Support & Business Intelligence Systems”
Advanced methodologies resolving dimensionality complications for autism neur...
sap open course for s4hana steps from ECC to s4
MIND Revenue Release Quarter 2 2025 Press Release
Per capita expenditure prediction using model stacking based on satellite ima...
The AUB Centre for AI in Media Proposal.docx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Mobile App Security Testing_ A Comprehensive Guide.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Spectroscopy.pptx food analysis technology
Approach and Philosophy of On baking technology
gpt5_lecture_notes_comprehensive_20250812015547.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Digital-Transformation-Roadmap-for-Companies.pptx

Java fx on raspberry pi gerrit grunwald