Closed FlowIT-JIT closed 4 years ago
Something that greatly impact performance is DOM manipulation that triggers reflows.
Easy fixes - reduce reflows by:
Registered MutationObservers and timers may also slightly affect performance. Consider support for temporary suspension? Same applies for type validation which is cheap but not free: Fit.Validation.Enabled(false).
Selecting all nodes in a TreeView based DropDown control performs poorly when thousands of nodes are presented in the TreeView.
Demo data (16276 nodes): data.json.zip. Generated using: https://next.json-generator.com/NydW4rJ2D
Code to reproduce problem:
Triggering Select All on "Root node" using the right-click menu is painfully slow for this amount of data, especially on Internet Explorer.
Obviously it is hardly a valid use case selecting thousands of nodes. But if the feature is exposed to the users, they will eventually trigger it - just to try it or by accident.
When doing functional testing to verify that the improvements have not broken anything, relace dd.Url("data.json") in the example code above with the following code to test SelectAll with remote children (partially loaded TreeView):