As I was briefing in the my previous post on Evaluating UI performance / Rendering speed of controls, I ran tests on my machine against SDK Grid, Infragistics Xam Grid & Telerik Rad Grid and came up with below test results.
UI Rendering Performance Results
- First time rendering is always slower on any of the Grids
- Both SDK grid and Infragistics Xam Grid have similar load performance
- Load Performance on all three grids is as # rows goes beyond 2 million
- Telerik’s Rad Grid loads 4 – 7 times slower than rest for first 2 million rows
These test results my vary from machine to machine and hence I suggest you to test it for yourself using source or run the demo on your machine.
Stressing once again that I am in no way associated with any of the 3rd party control providers, I would like to bring up an important notes from my testing. The slow rendering performance (say 2-3 seconds) might be relatively invisible to end user when compared to delay in waiting to receive data from server to client takes long time (say 20-30 seconds).
Performance difference of 400% – 700% could be a minor one or really huge based on needs / how you view things. Should your application data is small & got users with some patience then showing the data grid with 400 millisecond slower might not count when considering the grid features that fits your needs. However, if your application is large enterprise app, where every layer in your app is facing some throttling, then every millisecond counts. Hopefully this post shed some light on UI control rendering performance and helps help you make a decision on controls that fits your needs.
In my previous blog on BulkObservableCollection vs ObservableCollection, I showed you means to improve the performance of adding huge data to UI controls. Now if you were evaluating various third party UI control libraries then apart from control features they offer, you might be interested in evaluating how fast these controls can render whlie handling large data sets. As the precise evaluation methodology might vary from vendor to vender, I would tell you generic means to evaluate UI performance / rendering speed, so that we could do apples-to-apples comparision across UI control libraries of your choice. Continue reading
If you are working with huge number of data records to be shown on the UI control like datagrid, then you might have already come across some performance issues while trying to add (newly) fetched records into existing collection. If you are in this situation, then the solution for your issue could be BulkObservableCollection. Continue reading
I have being developing more on the Silverlight applications for the past 10 months. At the beginning, as I haven’t explored much on Silverlight, I had some hard time in getting up jump start as I was playing with too many (Prism, MVVM, Silverlight) things for the first time. Once I took a step back and learned each of them individually, things were moving at a good pace which in turn spurred more interest in learning something new.
One of my colleague, who has done some Silverlight development earlier said that, “You are doing complex things that I haven’t dealt with in past 2 years of development with Silverlight”. Though it sounds like – ‘I was complicating things’, he agreed to the fact that he is doing some basic programming on Silverlight.
Here in this blog, I would like to share some of the interesting things I have learnt during this phase.