-
Notifications
You must be signed in to change notification settings - Fork 233
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
flashes in the ui #4510
Comments
I think this might be a problem with scene handler. It can put the tree into infinite update loop. Can you upload the file? |
with post-modifiers on blender becomes unusable here. (even if the Scene object doesn't have modifiers) |
Try this, I get flashing when I just open this scene. Is there a work around this? I do not remember having this issue in the past. |
i rarely use the weird thing is that even if the updating is switched off (on the node) and the Live Updating is also off on the N panel, the nodeview is still grinding to a halt. The node's attempt to acquire the current dependency graph (which it needs in order to get the mesh (post modifiers)) is a prime-suspect for this infinite-loop if you're really stuck try to figure out the last working zip by going through the commits branch https://github.com/nortikin/sverchok/tree/40c8f53a971d393bd104ea4aa35ea9f390ee763c and but it might be an earlier commit.. https://github.com/nortikin/sverchok/tree/032b2440c36b1e7319c6efe6fd49c3879db3cea5 -> zip |
it seems we don't have a useful .blend file in the collection of tests to indicate a regression. I don't see how Random Number generator is the issue here. The View header stops blinking when we untick the post-modifiers switch on |
That still has it although flashing is not as fast. |
The problem is in Scene handler which was introduced in 1.1.0-alpha.1. For now you can switch off the Scene Update options of the tree. When node tree is executing it can modify a scene. When scene is modified the tree is called to execute again. To avoid infinite loop I put protection key on a node tree. So if a tree has the key the next (one) scene event is skipped. But for some reason the execution of the tree triggers two scene events and only one of them is skipped. The reason probably in this lines: Lines 124 to 125 in fa455c1
|
I see two ways of solving the issue. First simple one is to merge |
The infinite loop is still present even after #4514. And it's frustratingly erratic. Other scenes behave just normally x_x Unfortunately I cannot isolate a simple case for now, because my trees are pretty complex. But the problem is still there. |
ouch : / |
Well I'm a bit confused working with GitGUI, but here what I found: |
I have an assumption of what goes wrong. New implementation of tasks (old name is Nodes updater) got an improvement of handling multiple events. Previous version was able to handle only one event and all other events during the handling were ignored. Now all events first get into Lines 24 to 25 in 7b5548c
During execution of the current task new events can arrive to the The solution I see is to ignore all new events if the time handler already started execution of one of events in the queue. But this also will break the case when changes come from user. You can move object in a scene and a tree can read its coordinates but when you stop moving the object the last readed coordinates by the tree can be different to actual one because the time handler was buisy to handle previous data and last move was ignored. Probably something can be done to handle this case. For example if first event was "Something was changed in a node tree" ignore all scene events. Or if first event was scene one you can add more scene events to the queue. 🤔 |
Yes, I can confirm similar behavior with your setup. |
Blender 3.3 alpha, Sverchok 1.1.0 nightly (Github)
The UI starts flashing when I add the random num gen to the Adaptive Polygons. Please see the video.
blender_4zo6aKvlNN.mp4
Not sure if this is a random gen problem, something about the scene updates causing this it seems.
blender_WM1jTrUGxZ.mp4
Thanks
The text was updated successfully, but these errors were encountered: