We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
close icon

Performance issues loading GridGroupingControl

I have a GridGroupingControl that I am using instead of a .net 1 data grid control for showing a heiarchy of tables 5 deep. The recound count is aproximatley 1 1 1 50 7500 (distributed under the 50). As you can see by the included file the first set of records loads in about 1.75 seconds. The second set takes about 9 seconds and the third about 18. I used begin and end update. I tried to use the end and resume binding but that does not apear to be available with the GridGroupingControl. When I used the .net datagrid the tables load very fast. What else can I do to speed this up?

DebugTimes.zip

11 Replies

AD Administrator Syncfusion Team June 26, 2006 05:28 PM UTC

Hi Bill, I would also like to mention that if your performance problems are related to initialization time of the grouping engine and loading data from a dataset, there are also some standard optimizations that let you speed up the grouping engine. Please use these settings and check if they make a difference: void OptimizeGrid(GridGroupingControl gridGroupingControl) { // Couple settings to perform better: gridGroupingControl.Engine.CounterLogic = EngineCounters.FilteredRecords; gridGroupingControl.Engine.AllowedOptimizations = EngineOptimizations.DisableCounters |EngineOptimizations.RecordsAsDisplayElements |EngineOptimizations.VirtualMode ; gridGroupingControl.TableOptions.VerticalPixelScroll = false; gridGroupingControl.Engine.TableOptions.ColumnsMaxLengthStrategy = GridColumnsMaxLengthStrategy.FirstNRecords; gridGroupingControl.Engine.TableOptions.ColumnsMaxLengthFirstNRecords = 100; } Based on the specific way you use the grouping grid more optimizations could be suggested, but I would need to more details about the application, the data and which features of the grouping engine you are using. If you can provide us with a sample that gives an idea about the specific requirements of your application we will also be glad to debug and look at such a project and see how the grid can be optimized in more detail. Also refer the browser samples for more details. Performance: \syncfusion\essentialstudio\3.3.0.0\Windows\Grid.Windows\samples\Grouping\GroupingPerf Optimizations: \syncfusion\essentialstudio\3.3.0.0\Windows\Grid.Windows\samples\Grouping\EngineOptimizations Best Regards, Haneef


BL Bill Langlais June 27, 2006 03:08 AM UTC

Here is two pieces of code to give you a better idea of what I am doing. The first method gives you the data set structure I am using. The Second method is the one that loads most of the data. I call the BeginUpdate and EndUpdate methods around the loop that is calling this method so all the data is inserted between one call to BeginUpdate and EndUpdate. One other thing. The data is added after the grid is initialized. The user selects a day, at any time while the program is running, and that adds about 8000 records at the lowest level each time. There is no imposed limit on how many days a user will have active in the grid at any one time. By the way. All the data is added via a database. The user cannot insert a record in the grid, only add a new day. The grids are mostly read only except for one column at the lowest level that is used to disable a point from the analysys the program is doing. >Hi Bill, > >I would also like to mention that if your performance problems are related to initialization time of the grouping engine and loading data from a dataset, there are also some standard optimizations that let you speed up the grouping engine. > >Please use these settings and check if they make a difference: > >void OptimizeGrid(GridGroupingControl gridGroupingControl) >{ > // Couple settings to perform better: > gridGroupingControl.Engine.CounterLogic = EngineCounters.FilteredRecords; > gridGroupingControl.Engine.AllowedOptimizations = > EngineOptimizations.DisableCounters > |EngineOptimizations.RecordsAsDisplayElements > |EngineOptimizations.VirtualMode > ; > gridGroupingControl.TableOptions.VerticalPixelScroll = false; > gridGroupingControl.Engine.TableOptions.ColumnsMaxLengthStrategy = GridColumnsMaxLengthStrategy.FirstNRecords; > gridGroupingControl.Engine.TableOptions.ColumnsMaxLengthFirstNRecords = 100; >} > >Based on the specific way you use the grouping grid more optimizations could be suggested, but I would need to more details about the application, the data and which features of the grouping engine you are using. > >If you can provide us with a sample that gives an idea about the specific requirements of your application we will also be glad to debug and look at such a project and see how the grid can be optimized in more detail. > >Also refer the browser samples for more details. >Performance: >\syncfusion\essentialstudio\3.3.0.0\Windows\Grid.Windows\samples\Grouping\GroupingPerf >Optimizations: >\syncfusion\essentialstudio\3.3.0.0\Windows\Grid.Windows\samples\Grouping\EngineOptimizations > >Best Regards, >Haneef

PerformanceCode001.zip


AD Administrator Syncfusion Team June 27, 2006 08:58 PM UTC

Hi Bill, Please refer this thread. http://www.syncfusion.com/Support/Forums/message.aspx?MessageID=22448 Let me know if this helps. Best Regards, Haneef


BL Bill Langlais June 28, 2006 02:37 AM UTC

Hi, I tried the optimization code you suggested above. It helped the initial load but subsiquent loads were as slow as before. See the enclosed log files. >Hi Bill, > >I would also like to mention that if your performance problems are related to initialization time of the grouping engine and loading data from a dataset, there are also some standard optimizations that let you speed up the grouping engine. > >Please use these settings and check if they make a difference: > >void OptimizeGrid(GridGroupingControl gridGroupingControl) >{ > // Couple settings to perform better: > gridGroupingControl.Engine.CounterLogic = EngineCounters.FilteredRecords; > gridGroupingControl.Engine.AllowedOptimizations = > EngineOptimizations.DisableCounters > |EngineOptimizations.RecordsAsDisplayElements > |EngineOptimizations.VirtualMode > ; > gridGroupingControl.TableOptions.VerticalPixelScroll = false; > gridGroupingControl.Engine.TableOptions.ColumnsMaxLengthStrategy = GridColumnsMaxLengthStrategy.FirstNRecords; > gridGroupingControl.Engine.TableOptions.ColumnsMaxLengthFirstNRecords = 100; >} > >Based on the specific way you use the grouping grid more optimizations could be suggested, but I would need to more details about the application, the data and which features of the grouping engine you are using. > >If you can provide us with a sample that gives an idea about the specific requirements of your application we will also be glad to debug and look at such a project and see how the grid can be optimized in more detail. > >Also refer the browser samples for more details. >Performance: >\syncfusion\essentialstudio\3.3.0.0\Windows\Grid.Windows\samples\Grouping\GroupingPerf >Optimizations: >\syncfusion\essentialstudio\3.3.0.0\Windows\Grid.Windows\samples\Grouping\EngineOptimizations > >Best Regards, >Haneef

Documents and Settings.zip


BL Bill Langlais June 28, 2006 03:03 AM UTC

Hi, I read the link and tried the Table Dirty and the Parent Enabled stuff. Neither change had any impact. >Hi Bill, > >Please refer this thread. > >http://www.syncfusion.com/Support/Forums/message.aspx?MessageID=22448 > >Let me know if this helps. >Best Regards, >Haneef


AD Administrator Syncfusion Team June 28, 2006 07:14 PM UTC

Hi Bill, You said you put everything setting in a your project in one of your previous posts above, and that it still does not work. Can you post that project that does not work here, or submit a direct trac incident with that project so we can debug it and see what is failing? Best Regards, Haneef


BL Bill Langlais June 28, 2006 11:07 PM UTC

Hi, This is a program I am writing for sale later so I do not want to post the code where it can be accessed by anyone. If I submit a Direct Trac issue will it be private? Is there a non disclosure that protects my code? Also the database you need to use is rather large The zip file willprobably be in the neighborhood of 10 gig. Can I submit a file that large? >Hi Bill, > >You said you put everything setting in a your project in one of your previous posts above, and that it still does not work. > >Can you post that project that does not work here, or submit a direct trac incident with that project so we can debug it and see what is failing? > >Best Regards, >Haneef


BL Bill Langlais June 28, 2006 11:09 PM UTC

Hi, Sorry that was 10 meg not gig. >Hi, > > This is a program I am writing for sale later so I do not want to post the code where it can be accessed by anyone. If I submit a Direct Trac issue will it be private? Is there a non disclosure that protects my code? Also the database you need to use is rather large The zip file willprobably be in the neighborhood of 10 gig. Can I submit a file that large? > > >>Hi Bill, >> >>You said you put everything setting in a your project in one of your previous posts above, and that it still does not work. >> >>Can you post that project that does not work here, or submit a direct trac incident with that project so we can debug it and see what is failing? >> >>Best Regards, >>Haneef


AD Administrator Syncfusion Team June 28, 2006 11:29 PM UTC

Hi Bill, If you open a Direct Trac support incident and upload the file with it, that would be the quickest and private way to resolve this issue. It would be easy to track the issue. Thanks for your patience. Best Regards, Haneef


AD Albert Dias Moreira February 23, 2018 12:17 PM UTC

I don't know what to write



AR Arulpriya Ramalingam Syncfusion Team February 25, 2018 10:26 AM UTC

Hi Albert, 
 
Thanks for your update. 
 
Please let us know, if you have any other queries. 
 
Regards, 
Arulpriya 


Loader.
Live Chat Icon For mobile
Up arrow icon