Refreshing the Kendo Scheduler view is painfully slow.

2 posts, 0 answers
  1. Mark
    Mark avatar
    1 posts
    Member since:
    May 2011

    Posted 27 Sep Link to this post

    We are implementing the Kendo Scheduler as part of a time attendance manager. While it works mostly as intended, the update code is cripplingly slow for larger data sets:

    In our working example for a dataset of ~770 users, the schedule.view(schedule.view().name) call takes almost 3.5 seconds.
    During this time the page is completely unresponsive and it's kinda ruining the UX.

    Do you have any suggestions to refreshing the schedule, with or without calling "schedule.view(schedule.view().name)", which is more responsive?

    Example code:

    (function () {
            var element, scheduler;
            benchmark.measure("Trigger updateFilters", function () { element = $('#scheduler'); scheduler = element.data('kendoScheduler'); });
            benchmark.measure("Trigger updateFilters", function () { element.show(); });
            benchmark.measure("Trigger updateFilters", function () {
                scheduler.dataSource.filter({
                    operator: function (user) {
                        var result = true;
                        // snip for brevity //
                        return result;
                    }
                });
            }, "scheduler.dataSource.filter()");
            benchmark.measure("Trigger updateFilters", function () { scheduler.view(scheduler.view().name); });
    }());
    (benchmark is a helper class to test timings)

    Example measurements are attached.

  2. Ivan Danchev
    Admin
    Ivan Danchev avatar
    832 posts

    Posted 28 Sep Link to this post

    Hello Mark,

    Calling the Scheduler's view() method is the correct way to refresh it. With regard to the performance hit when multiple resources are used you could check the following thread, in which this issue is discussed and an approach consisting of requesting only the data for the visible days from the server (implementing server filtering) is suggested. You can also vote for the resources virtualization feature request logged in our Feedback Portal.

    Regards,
    Ivan Danchev
    Telerik by Progress
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  3. UI for ASP.NET MVC is VS 2017 Ready
Back to Top