I am seeing that once a grid checkboxlist column filter exceeds about 1000 items the wait time appears to increase non-linearly (performance is worse than linear.) For example, with 3,000 items the page freezes for about 30 seconds. The data is fetched in under 50 milliseconds, so the vast majority of this time appears to be processing by Kendo.
Please see the attached for my configuration.
Hi Garrett,
Thank you for the kind words and the additional details provided.
In order to improve the performance of the filter, I would recommend using a custom filter with MultiSelect virtualization.
As this is a very custom approach, I would recommend contacting Telerik Professional Services if assistance for the customization or the complete solution is needed.
Best Regards,
Anton Mironov
Progress Telerik
Enjoyed our products? Share your experience on G2 and receive a $25 Amazon gift card for a limited time!
Hi Anton, Thank you for the feedback. Just to be clear, the performance issue I'm seeing is limited to the column checkbox filter (shown below). The grid is performing fine and has server filtering enabled.
Are you suggesting that I implement virtualization for the column checkbox filter? I'm not seeing that option here - https://www.telerik.com/aspnet-core-ui/documentation/api/kendo.mvc.ui.fluent/gridboundcolumnfilterablebuilder
Can you point me to a sample that shows how to workaround this issue with the column checkbox filter?
Thanks, Garrett
Hello Garrett,
Thank you for the declaration code of the Grid and the details provided.
Yes, you are totally correct - the described performance is not acceptable. It is actually not caused by a bug, but from the capabilities of the browser.
The following articles describe in more detail the performance cases and improvements:
The best solution(I always use it when have a big dataset) is the Virtualization of Remote Data. It is applicable for the Grid. The filter will remain the same, but I am wondering about the use-case of a filter dropdown list with checkboxes where thousands of items are represented.
Instead, I would recommend using the Virtualization of the Remote Data demo. Every 1000 records in the demo below will need 38 milliseconds to be loaded. The filtering is working with a very good performance:
The following article provides additional information about the implementation and the resulting behavior of the Virtualization process:
I hope this information helps.
Kind Regards,
Anton Mironov
Progress Telerik
Enjoyed our products? Share your experience on G2 and receive a $25 Amazon gift card for a limited time!