Open selfsame opened 3 years ago
fixed with 5b46bc4b711c3e6932ecf02911b4737629f2be7b
I'm happy with this hack,: using arcadia.core/timeout
for tooling evals/loadfile to get into the main thread
Re-opening this since the NRepl main-thead-eval
wasn't working (see #20)
To me seems like it's not just slow, but calling instance() from a thread also appears to have stability issues. Using Godot 3.3, I'm getting crashes from places like below, even with RENDER_SEPARATE_THREAD mode set in the project. Seems like calling instance() from a thread maybe isn't fully fleshed out yet ...
StringName::operator<(const StringName & p_name) Line 100 (godot\core\string_name.h:100)
Comparator
@kdlee ah yeah that's unfortunate,
I've heard that instancing in threads will be better supported in Godot 4, but in the mean time if you use the UDP or Socket Repls they will eval on the main thread (https://github.com/arcadia-unity/ArcadiaGodot/blob/master/Source/arcadia/repl.clj#L256)
looks like this will get fixed with the vulcan renderer: https://github.com/godotengine/godot/issues/36793
Alternately, we could consume REPL forms in the main thread.