Expected frame rates for a full-screen blur
Mike Hearn
mike at plan99.net
Sat Apr 5 14:57:50 UTC 2014
Thanks guys! That's really helpful. RT-36541 filed.
PulseLogger seems useful, if only I understood its output :) I set the blur
animation to autocycle and pulselogger produced something like the text
below. So apparently I have a lot of slow background paths - what does that
mean? It also spends most of its time waiting for previous rendering,
suggesting indeed that the GPU rendering can't keep up with what the javafx
thread is producing.
My scene is essentially like this: I have a large ScrollPane, with a tiled
background image. It contains a dashed rounded rectangle. There is a bit
more UI at the top but nothing complicated: a few labels and an imageview.
All this is inside a StackPane so that I can blur out the main UI and put
popups over the top of it. So there's a blur of a large pixelwise but not
very complex scene graph, with a handful of non-blurred set of nodes on top.
PULSE: 90 [145ms:73ms]
T14 (0 +1ms): CSS Pass
T14 (1 +0ms): Layout Pass
T14 (1 +0ms): Waiting for previous rendering
T14 (1 +0ms): Copy state to render graph
T12 (2 +0ms): Dirty Opts Computed
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 (2 +60ms): Painted
T12 (62 +10ms): Presentable.present
T12 (73 +0ms): Finished Presenting Painter
Counters:
CacheFilter rebuilding: 1
Cached region background image used: 7
Cached region shape image used: 4
NGRegion renderBackgrounds slow path: 12
Nodes rendered: 46
Nodes visited during render: 48
Rendering region background image to cache: 5
PULSE: 91 [5ms:87ms]
T14 (0 +0ms): CSS Pass
T14 (0 +0ms): Layout Pass
T14 (0 +68ms): Waiting for previous rendering
T14 (68 +1ms): Copy state to render graph
T12 (69 +0ms): Dirty Opts Computed
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 (69 +17ms): Painted
T12 (86 +1ms): Presentable.present
T12 (87 +0ms): Finished Presenting Painter
Counters:
Cached region background image used: 7
Cached region shape image used: 4
NGRegion renderBackgrounds slow path: 3
Nodes rendered: 40
Nodes visited during render: 42
PULSE: 92 [85ms:46ms]
T14 (0 +0ms): CSS Pass
T14 (0 +0ms): Layout Pass
T14 (0 +4ms): Waiting for previous rendering
T14 (4 +0ms): Copy state to render graph
T12 (5 +0ms): Dirty Opts Computed
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 (5 +34ms): Painted
T12 (39 +6ms): Presentable.present
T12 (46 +0ms): Finished Presenting Painter
Counters:
Cached region background image used: 7
Cached region shape image used: 4
NGRegion renderBackgrounds slow path: 3
Nodes rendered: 40
Nodes visited during render: 42
PULSE: 93 [19ms:51ms]
T14 (1 +0ms): CSS Pass
T14 (1 +0ms): Layout Pass
T14 (1 +26ms): Waiting for previous rendering
T14 (27 +0ms): Copy state to render graph
T12 (28 +0ms): Dirty Opts Computed
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 (28 +22ms): Painted
T12 (51 +0ms): Presentable.present
T12 (51 +0ms): Finished Presenting Painter
Counters:
Cached region background image used: 7
Cached region shape image used: 4
NGRegion renderBackgrounds slow path: 3
Nodes rendered: 40
Nodes visited during render: 42
PULSE: 94 [31ms:35ms]
T14 (1 +0ms): CSS Pass
T14 (1 +0ms): Layout Pass
T14 (1 +20ms): Waiting for previous rendering
T14 (21 +0ms): Copy state to render graph
T12 (22 +0ms): Dirty Opts Computed
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 (22 +12ms): Painted
T12 (34 +1ms): Presentable.present
T12 (35 +0ms): Finished Presenting Painter
Counters:
Cached region background image used: 7
Cached region shape image used: 4
NGRegion renderBackgrounds slow path: 3
Nodes rendered: 40
Nodes visited during render: 42
PULSE: 95 [32ms:42ms]
T14 (0 +0ms): CSS Pass
T14 (0 +0ms): Layout Pass
T14 (1 +2ms): Waiting for previous rendering
T14 (3 +0ms): Copy state to render graph
T12 (4 +0ms): Dirty Opts Computed
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 (4 +21ms): Painted
T12 (26 +16ms): Presentable.present
T12 (42 +0ms): Finished Presenting Painter
Counters:
Cached region background image used: 7
Cached region shape image used: 4
NGRegion renderBackgrounds slow path: 3
Nodes rendered: 40
Nodes visited during render: 42
PULSE: 96 [18ms:42ms]
T14 (0 +0ms): CSS Pass
T14 (0 +0ms): Layout Pass
T14 (0 +25ms): Waiting for previous rendering
T14 (25 +0ms): Copy state to render graph
T12 (26 +0ms): Dirty Opts Computed
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 (26 +15ms): Painted
T12 (41 +0ms): Presentable.present
T12 (42 +0ms): Finished Presenting Painter
Counters:
Cached region background image used: 7
Cached region shape image used: 4
NGRegion renderBackgrounds slow path: 3
Nodes rendered: 40
Nodes visited during render: 42
PULSE: 97 [35ms:27ms]
T14 (0 +0ms): CSS Pass
T14 (0 +0ms): Layout Pass
T14 (0 +7ms): Waiting for previous rendering
T14 (7 +0ms): Copy state to render graph
T12 (8 +0ms): Dirty Opts Computed
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 (8 +15ms): Painted
T12 (23 +4ms): Presentable.present
T12 (27 +0ms): Finished Presenting Painter
Counters:
Cached region background image used: 7
Cached region shape image used: 4
NGRegion renderBackgrounds slow path: 3
Nodes rendered: 40
Nodes visited during render: 42
PULSE: 98 [15ms:30ms]
T14 (0 +0ms): CSS Pass
T14 (0 +0ms): Layout Pass
T14 (1 +12ms): Waiting for previous rendering
T14 (13 +0ms): Copy state to render graph
T12 (14 +0ms): Dirty Opts Computed
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 (14 +15ms): Painted
T12 (29 +1ms): Presentable.present
T12 (30 +0ms): Finished Presenting Painter
Counters:
Cached region background image used: 7
Cached region shape image used: 4
NGRegion renderBackgrounds slow path: 3
Nodes rendered: 40
Nodes visited during render: 42
PULSE: 99 [17ms:36ms]
T14 (0 +0ms): CSS Pass
T14 (0 +0ms): Layout Pass
T14 (0 +13ms): Waiting for previous rendering
T14 (13 +0ms): Copy state to render graph
T12 (13 +0ms): Dirty Opts Computed
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 (14 +21ms): Painted
T12 (35 +1ms): Presentable.present
T12 (36 +0ms): Finished Presenting Painter
Counters:
Cached region background image used: 7
Cached region shape image used: 4
NGRegion renderBackgrounds slow path: 3
Nodes rendered: 40
Nodes visited during render: 42
PULSE: 100 [16ms:39ms]
T14 (0 +0ms): CSS Pass
T14 (0 +0ms): Layout Pass
T14 (0 +20ms): Waiting for previous rendering
T14 (20 +0ms): Copy state to render graph
T12 (21 +0ms): Dirty Opts Computed
T12 : Slow background path for null
T12 : Slow background path for null
T12 : Slow background path for null
T12 (21 +17ms): Painted
T12 (38 +1ms): Presentable.present
T12 (39 +0ms): Finished Presenting Painter
Counters:
Cached region background image used: 7
Cached region shape image used: 4
NGRegion renderBackgrounds slow path: 3
Nodes rendered: 40
Nodes visited during render: 42
More information about the openjfx-dev
mailing list