-
Notifications
You must be signed in to change notification settings - Fork 17
Volume Charts iced lyon performance
Pedro Tacla Yamada edited this page Jul 19, 2021
·
1 revision
15% memory usage to render at 60fps. Most time spent on tessellation inside lyon.
Benchmarks in plugin_host_gui_criterion. Specific benchmark is "tessellate".
tessellate time: [157.70 ms 158.70 ms 159.70 ms]
change: [-4.6951% -2.4368% -0.3103%] (p = 0.03 < 0.05)
Change within noise threshold.
tessellate time: [141.95 ms 144.58 ms 147.61 ms]
change: [-10.551% -8.8967% -6.9494%] (p = 0.00 < 0.05)
Performance has improved.
tessellate time: [85.958 ms 87.224 ms 88.544 ms]
change: [+5.6628% +7.2165% +9.1133%] (p = 0.00 < 0.05)
Performance has regressed.
tessellate time: [112.95 ms 126.27 ms 142.38 ms]
change: [+29.593% +44.761% +66.481%] (p = 0.00 < 0.05)
Performance has regressed.
Found 12 outliers among 100 measurements (12.00%)
4 (4.00%) high mild
8 (8.00%) high severe
Improving performance:
- Around 2x improvement over 0.17 from disabling intersection checking, which should work for our use-case
- We could implement more low-level drawing
- With version 0.16, t
- Will disable intersection handling
- Will not do any further optimisation to drawing because 15% seems like a reasonable CPU use for now
- I can just reduce the nº of points for this application
- Caching the
FillTessellatorobject between frames. On synthetic testing this yields around 5% improvement; I see on sampling the app there're a lot of allocations going inside of fill