Might I suggest "nodecount.PathBench" I bring it up because Path performance is costly for my app, when it represents a fraction of the number of pixels rendered. I.e. it could use some attention and with a test app like these at least you will know when things are going in the right direction performance-wise.
I also use effects on the paths to highlight them on mouse over so users can easily see which path they will select.. That has the unfortunate side-effect of converting the path to a raster which could be very large. I'm actually hitting resource problems just because I add a shadow to a path for UI feedback Scott On 2013-08-26, at 7:34 PM, Richard Bair <richard.b...@oracle.com> wrote: > OK, benchmark is kind of a bad name for it, although I am kind of using them > in this way. Anyway, I added rt/apps/performance/GraphicsPerformance. This > project contains a set of apps within it, such as nodecount.RectBench, > nodecount.ImageBench, startup.StartupApp, preloader.SlowStartingApp, etc. > which can be used for gathering performance data in a variety of scenarios. > > The "startup" package contains tests for testing startup speeds. The initial > app there "StartupApp" is probably poorly named and should be > "SimplestAppEver". It has a Group for its root. This is the simplest app you > can create and we want to use it to measure startup time. As specified in the > class documentation: > > /** > * A very basic application for testing startup. You must make sure to have: > * -Dsun.perflog > * -Dsun.perflog.fx.firstpaintflush > * > * both specified so that you get the startup metrics. You may also want: > * -verbose:class > * > * to be able to see which classes are being loaded. > */ > > This package needs to be fleshed out with other variants -- such as one that > creates a bunch of invisible nodes, one that creates a Control, one that > creates a WebView, etc. This will give us some idea of the startup times for > typical use cases. > > The "preloader" package contains a sample PreloaderApp which is nothing but a > ProgressBar, and a SlowStartingApp which sleeps in its init() method. The > point of this one is to show that the preloader does work on iOS, and that > the preloader can startup faster than waiting for the whole app, and that the > preloader will continue to animate well even with all the background loading > going on. I just recently added preloader support for desktop & iOS (haven't > tried it on RoboVM yet but I would imagine it should work). > > The "nodecount" package contains tests which are designed so that they add > nodes without adding pixels. The tests will lay out the nodes in a grid, and > as you increase the number of nodes, I decrease the size of each node so that > the number of pixels we fill remains constant (or near enough). I want the > data from these tests to tell me what the incremental cost is of adding more > nodes, not the cost of filling lots of overlapping nodes. > > The number of nodes being handled will be insignificant on desktop, however > on embedded these numbers should be useful. Note that you ought to run with > -Djavafx.animation.fullspeed=true in order to not have an artificial cutoff > to your FPS numbers. > > Richard