Minimizing latency in scriptnode
-
I'm starting to calculate the latency for an FX plugin made in scriptnode. My past projects have had about 10-15 samples of latency that needed to be compensated for, but this one has.... 27890 samples of latency. :anguished_face: The network has about 100 nodes in it, so it's fairly complex, but that still seems high to me.
We can compensate for this using Engine.setLatencySamples();, but the playback from my DAW is delayed considerably due to the amount of compensation, and all the level meters are out of sync, visually.
Is there some secret method I need to use when compiling to minimize latency in a dsp network? -
@dustbro Did you compile the network to a dll?
-
@d-healey I didn't. Doesn't that only affect CPU performance? I guess there's only one way to find out... :crossed_fingers_medium-light_skin_tone:
-
@dustbro said in Minimizing latency in scriptnode:
Doesn't that only affect CPU performance
Maybe... let me know :D
-
@d-healey the manual says:
Open the projucer file of HISE (either the standalone or the plugin project), change the compile flag HI_ENABLE_CUSTOM_NODE_LOCATION in the hi_modules module and recompile HISE:I'm not seeing it
-
@dustbro said in Minimizing latency in scriptnode:
Open the projucer file of HISE (either the standalone or the plugin project), change the compile flag HI_ENABLE_CUSTOM_NODE_LOCATION in the hi_modules module and recompile HISE:
I think this is for when you are adding your own (c++) nodes to script node rather than using the built in nodes.
-
@d-healey It looks like @Matt_SF has already been here:
@matt_sf said in Scripnode 101:
@lalalandsynth said in Scripnode 101:
So what is the difference between making a dll and exporting as cpp ?
In older versions of HISE you had to export as cpp and compile HISE again to include your network into you plugin. It's in the doc but it's outdated.
With latest versions you can compile a dll with the workbench, then just compile your plugin with HISE and the dll network will be embedded into your plugin.And what is the benefit of building an FX in SNEX Workbench rather then within Hise where I can make them In context ?
@christoph-hart said in Snex_node Needs to be wrapped into a compileable DSP Network:
Everything that is using the SNEX compiler in HISE must be compiled to a C++ class for the exported plugin (the JIT compiler is not included in the codebase of a exported plugin). This includes:
- list itemany SNEX node
- list itemany expression node (control.cable_expr and math.expr)
- list itemany expression in a parameter connection (the Expression property)
So if you use the SNEX compiler you must compile your network first with the workbench. Also if you're working on big projects it's "lighter" to use the workbench to design your network(s) : once created, they are available here :
-
Found the culprit!
The value of my xfader node which was modulating a delay was set wrong, so it was inducing a fixed delay when at rest.
One crisis averted! 10 more to go :beaming_face_with_smiling_eyes: