I’m using Unity 2020.1.13f1, FlowCanvas 3.1.8, and now I have two questions
1. When I am editting the flow canvas graph (i.e. the canvas editor is active), even though I dont make any modification (add/delete) just view and drag/move the graph, the memory (showed in task manager) is inreasing continously
2. When the node number gets large (over 100) the editor becomes slow and laggy, is there any suggestions to improve this problem ?
1) Is it a prefab graph, and asset graph or a bound graph on a GraphOwner? Does this affect the editor performance?
2) Do you mean when 100 nodes are shown simultaneously in the graph editor viewport, or when there are 100 nodes in the graph in general?
1) It’s a bound graph but as far as I know it doesn’t matter which graph it is, I found that the problems lie in GUILayout.Window function, which causes the memory increasing continuously. And it does affect the editor performance, especially when dragging graph the the memory increases dramatically and will become laggy.
2) I mean when there are abount 100 nodes or more in the graph in general, and then I edit the graph (dragging / scaling and so on).
3) Another question related to performance, I notice that flowcanvas uses IMGUI at the moment, and do you have plan to use retained mode GUI like UIElements ?
1,2) Hmm. GUILayout.Window is only called for visible nodes. All non-visible nodes, are not rendered at all. I just tried 100+ nodes and the editor was very smooth when only some of those nodes were visible. Can you please also disable the minimap to test it out? (you can disable the minimap by resizing to its minimum size). What computer specs are you under?
3) For the time being there is no plans to change the whole GUI to UIElements since that would basically require rewriting the GUI from scratch and the potential benefit is unknown and maybe minimal.