Author Topic: Poor performance indicators?  (Read 2403 times)

Hi I have two instances of the same substance rebuilding themselves at the same time on iOS. I am seeing poor performance.
Are there any specific nodes I shouldn't be using?
I have found that using "Color Input" causes big performance hits.

Also if I have a SVG connected to a blend node with an opacity of 0 (set in code) do you still redraw that SVG? If you do, can we have a node that switches nodes off properly (eg. no redrawing).


I can send you my .sbs files if you want.
Thanks for reading.

Quote
Are there any specific nodes I shouldn't be using?
The graph editor should indicate which nodes take the most rendering time in red. In general, noises(FxMaps) are the slowest, warps and blurs come second (the directional warps and directional blurs should be faster).
Although the actual timing depends on the final hardware you will be rendering on (any mobile cpu is likely to render slower than your pc's gpu or cpu) the relative "weight" of nodes should be similar.
Quote
I have found that using "Color Input" causes big performance hits.
Strange. That should not be the costliest part of your Substance. Passing a color input texture to the Substance engine only makes a copy of the texture pixels. How did you measure that, and how large is that hit ?
Quote
Also if I have a SVG connected to a blend node with an opacity of 0 (set in code) do you still redraw that SVG?
In order not to draw the SVG, your blend node should use the "switch" blending mode instead of "copy" (unless you are working in greyscale, in which case "copy" and "switch" behave the same, and the svg will not be drawn).


Quote
I have found that using "Color Input" causes big performance hits.

Well you most likely have the Color Input node at the very beginning. That way you have to recalculate all nodes. You should move it 2-3 nodes before end.

When you do that though, you ll probably face the problem that your input color differs from your output, due to all the previous node processing.
A fix is to add a HSL node just before the end, and try to match your input color.