-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
flaky HASNODE and ALLNODES behaviour #1816
Comments
It's probably a good idea to wait until the next physics tick when adding and removing nodes. E.g.
|
I made a test script which created a random amount of random nodes, prints them on screen(and in a logfile) and then deletes them again and loops back till an error is produced or the given time has ran out. It ran for half a hour without any hiccups. Here is the script and the logfile. But here's a quick summery: for your code: for the log: |
Thanks guys. If you are driving a script from the terminal manipulating It sounds like you cannot do much if kOS is calling asynch code that does The node adding is not fast, you can almost feel like you see them popping I don't suppose you all know why nodes are created with a UT but later you On Tue, Sep 13, 2016 at 9:06 AM, Max Avontuur notifications@github.com
|
Because the devs chose for this option, but if you want a |
When we add the functionality of #1807, any opcode or function will be able to "yield" to the next update. Since I think the issues stem from the tight integration between nodes and UI update code, a simple one tick yield should fix most cases. Technically, |
I've been making some scripts that add and remove nodes. I have:
DECLARE FUNCTION ClearNodes { UNTIL NOT HASNODE { REMOVE NEXTNODE. }. }.
to clean up after 'experiments' and sometimes it reports 'no node to remove', this can be minutes after the last node manipulation.
Also I have:
DECLARE FUNCTION PrintNodes {
local x is 1.
FOR ANM IN ALLNODES {
PRINT "Node."+x+": "+NodeDesc( ANM ).
set x to x+1.
}.
}.
sometimes this does not see the last added node, but if I call it twice in a row
ADD aNode.
PrintNodes().
PrintNodes().
the missed node is shown in the second listing.
The text was updated successfully, but these errors were encountered: