Optimize visualizer widget refresh rate performance

Hello :smiley:

I played a lot with the visualizer recently, and I realized that this widget is CPU expensive. More than 8 and It start to lag on my Galaxy Tab S2.

Is there a trick to optimize it ??
I tried disabling the transparency on every color parameter but no performance change.

When only a few visualizers are updating, performance is OK, It’s when everyone of them are updating that performance issue is visible.

Thank you

I played with GPU and canvas flag feature in chrome://flags without performance improvement.
Notice than under PC there is no lag.

Tried with Firefox on the Galaxy Tab S2 and there is absolutely no lag. But custom css on colors doesn’t seem to be supported.

You could try reducing the canvas update framerate by appending ?framerate=30 to the app’s url.

Tried with Firefox on the Galaxy Tab S2 and there is absolutely no lag. But custom css on colors doesn’t seem to be supported.

This could mean that your device’s gpu is currently blacklisted in chromium, have you tried to enable Override software rendering list in chrome://flags ?

Firefox is not supported.

Hello !
Long time no see ^^

I successfully test both of your options, reduce the framerate helps, and and enabling the option in chrome too !

Another way to optimize the visualizer is to limit the number of OSC messages received. 60/s is almost visually identical.

Thank you for the help

I’m now using visualizer in different tabs, and the performance is as bad as if I would have put every visualizer in only one tab…

  1. The canvas is drawn whatever if i’m looking at the tab or not. Is that possible to disable it when switching tab, or disabling it by OSC message ?

  2. I also tried to remove any transparency on the canvas with css options, but I can’t get ride of the shading under the graph curve. Can this help ?

    pointer-events: none;
    background-color:none;
    –color-bg: none;
    –color-track:none;
    border-left:none;
    border-top:none;
    box-shadow:none;

  3. I also tried to use clone, because I want to display the same visualizer in two different tabs, but didn’t seen any performance improvement.

Any idea ?

Canvas in hidden tabs are not drawn, but the data processing is done nonetheless, I’ll test if this could be tamed as well.

I also tried to remove any transparency on the canvas with css options, but I can’t get ride of the shading under the graph curve. Can this help ?

Not sure it would make a big difference, but next version will allow that (although it’s gonna be a major release with breaking changes)…

I also tried to use clone, because I want to display the same visualizer in two different tabs, but didn’t seen any performance improvement.

Performance-wise, cloning a widget is the same as creating the widget twice.

Canvas in hidden tabs are not drawn

Hmm, it seems I’ve overlooked this actually… there’s room for improvement here :slight_smile:

I’ve been doing some work, visualizers should perform better in the future !

Thaaaat’s a good news :smiley: