The latest HALion update introduces a significant worsening of script execution speed!
The attached VSTPRESET contains an empty macro page with an UI script that just defines 26x100 parameters “A1”-“Z100”, and finally prints the execution time as output message. While H6.4.10 needed only 480 ms for execution, H6.4.20 now needs incredible 3 minutes for the same script on the same machine!
We investigated all possible reasons and found strange interdependencies between script elements. The demo script contains a 1000 line “dummy” function, that is never executed, it’s just there. If you delete this function, the execution speed suddenly drops to 1400 ms - still 3 times longer than H6.4.10, but significant faster. If you contrariwise keep the “dummy” function and delete the parameter definition part, the execution speed drops to 13 ms. We also found, that the line amount of the dummy function has a direct impact on execution speed. Execution speed also rises if you cut out the “onChanged” part of the parameter definition. All that is only true for H6.4.20, earlier versions did not have this behaviour.
H620 execution time test.vstpreset (9.4 KB)
execution time: 3 minutes (!!!)
definition loops without “dummy” function: 1400 ms
“dummy” function without par definition loops: 13ms
execution time with only one line in “dummy”: 1800 ms
→ line amount of “dummy” function has big impact on execution time, although it is never executed. This is only true for Halion 6.4.20. In all earlier Halion versions the code amount didn’t have an impact on execution time.
execution time: 480 ms (!!!)
definition loops without “dummy” function: 470 ms
“dummy” function without par definition loops: 20 ms
line amount of “dummy” function has no impact on execution time
The 2nd bug is a good old friend and only concerns HS/HSSE 3.4.20: Track selection doesn’t select the right program slot when the GUI was closed and reopened with a different MIDI track selection in Cubase (HALLY-7327). Funny: once this worked in HS/HSSE but was broken in HALion, now it is the other way round. What’s wrong with that function?! It took ages until it worked again in HALion, it’s to be hoped that it won’t last that long to fix it in HS.
BTW a wink to the test team: it took us exactly 5 seconds to detect that bug…