An ObservableHierarchy
is using a HierarchicalDataSource
for its implementation, so switching from one to the other may not change much.
Regarding performance problems, there are three concerns: the amount of DOM elements to render, the amount of requests to the server and the size of the transferred data.
If the problem is that rendering the elements is taking too long, this could be addressed by setting the loadOnDemand
option to true
, which would cause elements to be rendered when you expand them (if you're using local data, this defaults to false).
If you're using remote binding and are concerned about how responsive it is after loading, this issue could be improved by getting all data in one request instead of issuing a separate request for each level (but if you're already using local data, this doesn't apply). If on the other hand you care about how long it takes to set it up initially, you should use loadOnDemand: true
so the widget only requests the data it needs to show from the server.