Mittwoch, 20. April 2016

JavaFX Performance #2 - JavaFX 2 und JavaFX 8

[Hinweis: Die folgenden Ergebnisse stammen aus meiner veröffentlichten Masterarbeit "JavaFX - Strategische / Technologische Bewertung"]

Hallo und willkommen zurück zum 2.Part des JavaFX Performance Beitrags!

Einleitung

Im letzten Part haben wir anhand des Bubblemark Benchmarks und des Ergebnisses von TBEERNOT gesehen, dass JavaFX2 mehr FPS erzeugen kann als Swing. Nun schauen wir mal was herauskommt, wenn wir den Bubblemark Benchmark mit Java 1.7 kompilieren und jeweils mit JavaFX2 und JavaFX8 ausführen. Da wir aber nun beides mal JavaFX ausführen können wir zusätzlich den VectorBall Benchmark mit ausführen, dieser erstellt die Bälle nicht anhand von Bitmaps, sondern anhand von Vectoren. Dadurch kann nun auch die Vector-Performance gemessen werden.



Durchführung & Ergebnisse

Ich habe jedoch vorher die maximale Anzahl der Bälle auf 9000 angehoben, um zu sehen ob mein Rechner dabei Probleme bekommt. Die Anzahl der Startbälle ist weiterhin 500 und werden nach 5 Sekunden um weiterhin 500 Bälle erhöht, sodass wir am Ende jeweils 19 Werte pro Durchlauf erhalten.

Im folgenden sieht man das Ergebnis:


Wie man sehen kann gibt es tatsächlich einen Unterschied bei der Performance zwischen JavaFX2 und dem neueren JavaFX8, jedoch nur bei der Darstellung von Vectorenbällen. Bei den Bitmapbällen ist der Unterschied kaum auszumachen bzw. existiert nicht. Dies sieht man auch besonders wenn man die Durchschnittswerte berechnet:

  • VectorBalls (JavaFX2): 115 FPS
  • VectorBalls (JavaFX8): 168 FPS
  • BitmapBalls (JavaFX2): 233 FPS
  • BitmapBalls (JavaFX8): 238 FPS

Anhand dieses Ergebnisses ist JavaFX8 also ca. 17% (Bitmap und Vector wurden zuvor addiert) schneller als JavaFX2!

Kritik

Auch wenn der Bubblemark Benchmark uns schonmal einen ersten Einblick in die Performance von JavaFX verschafft, so bin ich persönlich jedoch nicht ganz zufrieden damit. Was mich daran stört ist die Tatsache, dass der Bubblemark Benchmark nicht die praxisrelevanten Aspekte von JavaFX testet wie zum Beispiel Tabellen, Listen und Diagramme. Daher habe ich dazu entschlossen einen eigenen Benchmark, welcher zum Teil auf dem Bubblemark Benchmark basieren sollte, zu entwickeln. Das Ergebnis dieses Versuches sehen wir jedoch erst im 3.Part, welcher zugleich der vermutlich längste dieser Drei sein wird. 

Ich hoffe es hat euch gefallen und sehen uns beim 3.Part wieder!

Keine Kommentare:

Kommentar veröffentlichen