Skip to content
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time


Performance test platform for JavaFX.

Effects can be layered and scheduled on a timeline.

Videos of the demo effects:

Part I :

Part II:

Part III:

Christmas Demo 2017:

More Moiré:

Used to discover the best techniques for optimising JavaFX performance on the Raspberry Pi and Desktop.

Compile with gradle:

./gradlew jar

Run with:

./ [options]

-e <effects>               comma separated list of effects (See SimpleEffectFactory)
-t <seconds>               run for t seconds
-c <count>                 number of items on screen
-f <true>                  fullscreen mode (no stats pane)
-w <width>                 canvas width
-h <height>                canvas height
-l [sqrt,trig,rand,none]   use lookup tables for Math.sqrt, Math.{sin|cos}, Math.Random
-m <line|poly|fill>        canvas plot mode
-a <audio filename>        Play audio file
-s <true>                  use ScriptedDemoConfig

Current list of effects:
blur, bobs, bounce, burst, checkerboard, chord, chromakey, cogs, colourbackground,
concentric, credits, creditssprite, cubefield, cyclebackground, diamonds, doomfire, equaliser,
equalisercubes, falling, feedback, fireworks, flash, fractalrings, glowboard, grid, hexagons,
honeycomb, hue, imagebackground, inversechromakey, mandala, mandelbrot, mask,
maskstack, mirrorx, mirrory, moire, moremoire, pentagons, picinpic, quadplay, rain, rainbow,
rawplayer, raytrace, rings, rotations, sea, sheet, shift, sierpinski, sinelines, snowfieldsprite, spin,
sprite3d, spritewave, squares, starfield, starfieldsprite, stars, texcube,
texsphere, textbounce, textlabel, textlayers, textring, textwave, textwavesprite,
tiles, triangles, tubestack, tunnel, twister, typetext, vumeter, wordsearch


# Default settings

# Triangle effect, 500 shapes run for 10 seconds
./ -e colourbackground,triangles -c 500 -t 10

# Square effect, set 640x480 canvas size
./ -e colourbackground,squares -w 640 -h 480

# Star effect, plot mode line
./ -e colourbackground,stars -m line

# Bounce effect with rainbow background
./ -e rainbow,bounce

# Burst effect with rainbow background
./ -e rainbow,burst

# Layered effects: grid,ballwave
./ -e grid,ballwave

# DemoFX Part III scripted demo:
./ -s true -f true -w 1280 -h 720

# Christmas DemoFX scripted demo:
./ -s xmas -f true -w 1280 -h 720

#More Moiré scripted demo
./ -s moire -f true -w 1280 -h 720

In order to run in another java version, like java 9. JAVA_HOME should be set. In MAC:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home

If the frame rate is not vsynced on Ubuntu then run:

export _JAVA_OPTIONS="-Dquantum.multithreaded=false"


Testbed for measuring JavaFX performance.




No releases published


You can’t perform that action at this time.