Java fx on raspberry pi gerrit grunwald

1,999 views

Published on

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,999
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java fx on raspberry pi gerrit grunwald

  1. 1. Gerrit Grunwald ! ! ! ! canoo TWITTER: @hansolo_ Engineering AG WEB: harmonic-code.org
  2. 2. first...
  3. 3. what embedded IS...
  4. 4. ...depends on the point of view
  5. 5. Hardware Developer
  6. 6. Software Developer
  7. 7. JAVA ONE 2012
  8. 8. JavaFX po we red Kiosk
  9. 9. running on...
  10. 10. Panda Board
  11. 11. CPU : ARM A9 DualCore Clock: 1.2 GHz Ram : 1 GB GPU : Power VR SGX540
  12. 12. Question...
  13. 13. Why Java?
  14. 14. Benefits of Java Superb developer toolchain ★ Mature, fast, widespread ★ Thousands of libraries ★ Huge community ★ No standard on embedded ★
  15. 15. Ok but...
  16. 16. WTF ? JavaFX
  17. 17. 5 Possible USE CASES
  18. 18. ★ Home automation ★ Home entertainment ★ Medical devices ★ Information Kiosks ★ Education
  19. 19. WHAT IS JAVAFX ON EMBEDDED ?
  20. 20. F JAVA X A Subset of
  21. 21. Without support for Swing/SWT ★ System Menu ★ Drag'n Drop ★ WebView ★ Media (e.g. AudioClip) ★
  22. 22. Available JDK's 11/2013 ★ JDK 7 (JFX 2)* ★ JDK 8 (JFX 8) *dev. prev. from 2012
  23. 23. Target* footprint 6 1 ~ N B M I M *~32 MB today
  24. 24. WHAT ARE THE SUPPORTED PLATFORMS ? 11/2013
  25. 25. BeagleBoard xM ! ! Raspberry Pi
  26. 26. xM BeagleBoard
  27. 27. ARM A8, 1 GHz ★ 512 MB RAM ★ 4 x USB ★ ETHERNET RJ45 ★ HDMI ★ I2C, JTAG, SPI ★
  28. 28. running on Ångström based on Debian
  29. 29. JDK 7 JavaFX 2 xM BeagleBoard dev. preview of 2012 with SoftFloat support
  30. 30. Pi Raspberry
  31. 31. ARM v6, 700 MHz ★ 512 MB RAM ★ 2 x USB ★ ETHERNET RJ45 ★ HDMI, COMPOSITE ★ GPIO, I2C, UART, SPI ★
  32. 32. running on Raspbian based on Debian
  33. 33. JDK 8 JavaFX 8 Pi Raspberry weekly dev. preview with HardFloat support
  34. 34. A typical Setup
  35. 35. Pi Raspberry
  36. 36. $ 70
  37. 37. Pi Raspberry
  38. 38. $ 220
  39. 39. So...having Java means...
  40. 40. WRITE ONCE RUN ANYWHERE ?
  41. 41. FIRST... SOME FACTS
  42. 42. 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
  43. 43. 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 ★
  44. 44. Embedded REQUIREMENTS
  45. 45. Requirements ★ touchable user interface ★ reasonable controls ★ no mouse and keyboard ★ restriced screen estate
  46. 46. CONCLUSION
  47. 47. NO WRITE ONCE RUN ANYWHERE !
  48. 48. But you can RECYCLE A LOT
  49. 49. 60 cm 50 mm FROM MOBILE 90 mm 34 cm and learn
  50. 50. Some words about Graphics
  51. 51. The Scene Graph Root Node Branch Leaf Branch Branch Leaf Leaf Leaf Branch
  52. 52. Retained Mode Rendering
  53. 53. SPEED LIMIT 60
  54. 54. 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 !!! ★
  55. 55. But what does it mean ?
  56. 56. To visualize Data…
  57. 57. do we need this ?
  58. 58. isn't this enough ?
  59. 59. or what about this
  60. 60. or even this...
  61. 61. IT'S ABOUT CONTENT OVER CHROME
  62. 62. But why is it important ?
  63. 63. CONTENT CHROME 3 Nodes 245 Nodes
  64. 64. CONTENT COMPROMISE 1 3 Nodes 33 Nodes
  65. 65. CONTENT COMPROMISE 2 3 Nodes 16 Nodes
  66. 66. CONTENT COMPROMISE 3 3 Nodes 6 Nodes
  67. 67. Things you BETTER AVOID
  68. 68. Things to avoid huge amount of nodes ★ intense use of animations ★ intense use of effects ★ many overlapping nodes ★ memory intense operations ★
  69. 69. Some UI Examples
  70. 70. Example UI (200 nodes)
  71. 71. Example UI (100 nodes)
  72. 72. Example UI (60 nodes)
  73. 73. Conclusion
  74. 74. JAVA(FX) ON EMBEDDED really rocks...
  75. 75. Demo

×