0

Technical question about speed of BOLT

DeepShader 6 months ago updated by NeedsLoomis 6 months ago 2

Hi there,
in the last days I tried some simple speed comparisons between some visual-coding solutions and one thing I noticed was, that in a demo scene, where 12 cubes just move from left to right and back, Playmaker get's an FPS much much higher than BOLT (both, 1 and 2 alpha).

Is there a technical reason for that? I always thought Playmaker would be the slowest. Specially in comparison to BOLT.

BOLT 1:




Playmaker:









Bolt Version:
Unity Version:
Platform(s):
Scripting Backend:
IL2CPP
.NET Version (API Compatibility Level):
.NET 4.x
+1

When testing Bolt 2, you have to test in generated mode since builds run from generated C# only. You're likely testing in editor's Live mode which runs from reflection and is about 20+ times slower. Live mode let's you code and save the changes made while in Play mode at the cost of some performance but it's an editor only mode.

Bolt 1, however, only runs from reflection so it incurs the performance cost you're seeing. 

I'm not familiar with Playmaker's implementation but what I know of it, it consists of actions that are pieces of custom code. So everything needs to be a custom action, from 3rd party tool implementations to anything that's not present in the base library or community library. 

Bolt is a lot more flexible and effortlessly integrates any 3rd party asset or your own C# code automatically via reflection. No need to write your own custom actions. So you lose some performance but gain a lot of flexibility. Bolt also doesn't force you to stick to the state machine only paradigm since it has both flow graphs and state graphs.Trade-offs. 

+1

Test in build as well, bolt still uses reflection, but the live overhead is significant in editor.