Performance TreeGrid

Hello,

we have a huge problem with the performance of the TreeGrid control (TreeView nearly the same slow performance) in our project!

Our project is a client side Blazor project and we getting the data with an own REST interface. We get the data and can show them in tree views (TreeGrid and TreeView) and the Grid control.

But the performance of the TreeGrid is very slow! I have changed the control from TreeGrid to Grid to check if there is a problem with our REST interface or building the data for the ObservabaleCollection. But after the change, the data (just ca. 20 items in the list) are nearly instant visible in the Grid control.

The TreeGrid needs ca. 5 seconds to show/refresh the data. Grid: instant. The same if i select an item in the TreeGrid (select event is filtering the origin list to another filtered list): the second TreeGrid need 3-5 seconds to show the filtered data -> Grid: instant. 

The selected item is used to show the details of this object in an Accordion control with three AccordionItem and ~8 textboxes. If the selected item is changed this controls needs multiple seconds to refresh, too. With Grids: instant.

This is the code:
<SfTreeGrid @ref="treeGridHiCoSwc" DataSource="@HiCoSwcCollection" AllowSelection="true" TValue="Items" ParentIdMapping="@nameof(HiCoSwc.ParentID)" IdMapping="@nameof(HiCoSwc.ID)" GridLines="Syncfusion.Blazor.Grids.GridLine.None" >         
<TreeGridEvents TValue="HiCoSwc" RowSelecting="GetSelectingSwcRow" RowSelected="GetSelectedSwcRow" />
         <TreeGridColumns>
            <TreeGridColumn Field="@nameof(HiCoSwc.Name)" HeaderText="Name" />
            <TreeGridColumn Field="@nameof(HiCoSwc.ID)" IsPrimaryKey="true" Visible="false" />
         </TreeGridColumns>
</SfTreeGrid>


public void GetSelectingSwcRow(RowSelectingEventArgs<HiCoSwc> args)
      {
         var data = args.Data;
         SelectedSwc = data;
      }
      public async void GetSelectedSwcRow(RowSelectEventArgs<HiCoSwc> args)
      {
         var data = args.Data;
         SelectedSwc = data;
         FilterSwcChildren();
      }

private ObservableCollection<HiCoSwc> hiCoSwcCollection;
public ObservableCollection<HiCoSwc> HiCoSwcCollection
      {         get         {            return hiCoSwcCollection;         }
         set         {
            hiCoSwcCollection = value;
            NotifyPropertyChanged(nameof(HiCoSwcCollection));
         }
      }

I hope you can help me! If you need more details, let me know!
Greetings,
Bernd


3 Replies

FS Farveen Sulthana Thameeztheen Basha Syncfusion Team May 20, 2020 02:18 PM UTC

Hi Bernd, 
 
Thanks for contacting Syncfusion Support. 

Query#:- The TreeGrid needs ca. 5 seconds to show/refresh the data. Grid: instant. The same if i select an item in the TreeGrid (select event is filtering the origin list to another filtered list): the second TreeGrid need 3-5 seconds to show the filtered data -> Grid: instant. 

For TreeGrid:- 
 
We are able to reproduce the performance issue on Rendering TreeGrid while using ClientSide Blazor WebAssembly App. Also we have faced some sort of delay on Row Selection too. We have already logged a defect report for the same. At Syncfusion we are committed to fixing all the validated defect (subject to technological feasibility and Product Development Life Cycle) and including its fix in our subsequent release. The fix for the issue will be included in our 26th May 2020 Patch release.  

To overcome this problem immediately, you may use Blazor Server App to improve the performance of TreeGrid. Please get back to us if you need any further assistance on it.  
 
For TreeView:- 

We have checked your shared problem details. Unfortunately, we were unable to predict your exact issue with TreeView component. Share us the following details. 
  
1.  What type of data source you have used to render the TreeView?  
 2.  Share us the sample code which you have used to render the TreeView.  
3. Screenshot or video sample of the issue.  
4. If possible, update the above attached sample by replicating the issue.  
  
This information would help us to understand your exact problem and help you solve the problem, promptly.  
      
Regards,   
Farveen sulthana T   



BP Bernd Parchmann May 27, 2020 11:27 AM UTC

Hello and thanks for the fast update!

Now the TreeGrid is working much faster! I hope that the performance is nearly the same if the amount of data is growing.
With the new version the lag is now ~1-2sec per click. Its acceptable if the lag is not growing with more data!

Will the performance more improved?


FS Farveen Sulthana Thameeztheen Basha Syncfusion Team May 28, 2020 11:40 AM UTC

Hi Bernd, 
 
Thanks for your update. 
 
In our latest verion (18.1.0.54) we have improved the performance of the TreeGrid to be much better when compared with earlier version. We have planned to enhance the performance to work more faster  while using ClientSide Blazor Server App in our 2020 Volume 2 release which is expected to roll out at the end of June 2020. 
 
Until then we appreciate your patience. 
 
Regards, 
Farveen sulthana T 


Loader.
Up arrow icon