Hi,
In a windows application we have used Ultra Win Grid (version: 10.1). To this we are binding a dataset at with 1000 Records and around 70 columns. This 1000 records when binded to the grid memory used is around 10 to 20MB. (More an approximate number)When the same data is binding in a Tree / Heirarchy format the memory useage shoots up.
Requirement: Data should be shown in an Heirarchy. The heirarchy may go down to more than 250+ levels. (You can always question which user will have a look till this level, but this is the requirement)
In our scenario the heirarchy is achieved by having the data split across data tables (In this ex: 400 tables) and all these tables added to a single dataset. Relation ship between tables is added to get the heirarchy.
When the dataset is assigned to the Grid DataSource and first row is activated the memory useage is around 600MB. Is this usage justified? (Also tried using UltraDataSource, same issue and another thing we noticed the performance was slower than Datatable for achiving the same result)
Using an ANTS profiler we have ruled out any memory leaks. The profiler suggests one of the Class which takes up chuck of memory is RBTee<K>+Node<int> as show in the attached screenshot. This is more a system object (part of System.Data namespace) and not a custom code.
Just wondering if the memory useage is justified or not. Secondly is there any better implementation?
Narasimha
UltraGrid has been optimized for performance and is about as conservative as it can be with memory consumption. 400 tables in one DataSet is an enormous number, and I'm not suprised that it causes a 600MB drain on memory. If you bind the MS hierarchical grid to something that big my guess is you will see a similar result.
Thanks for the update.