This is a migrated thread and some comments may be shown as answers.

dataSource (on gantt widget) pushUpdate slow

5 Answers 174 Views
Data Source
This is a migrated thread and some comments may be shown as answers.
Vedad
Top achievements
Rank 2
Bronze
Bronze
Veteran
Vedad asked on 06 Oct 2020, 01:31 PM

Hello, 

I need a little help regarding pushUpdate function on my gantt widget. When my gantt has significant number of items in dataSource (cca 700) pushUpdate takes approx. 15 seconds to update. 

I can't use option to transform dataSource.data to array, insert/replace records, and then set it back, because I have multiple users working on same project, and I receive update notifications via webSocket, so frequency and number of updates can vary. Basically I don't have the time pocket where I can be sure that someone changes won't be overwritten, and specially because my gantt is being changed "from behind" because someone else changed project I am working on.

I am currently on Kendo UI version 2019. R3 (and have no chance to update it in next 2-3 months).

 

Thanks

5 Answers, 1 is accepted

Sort by
0
Veselin Tsvetanov
Telerik team
answered on 08 Oct 2020, 10:37 AM

Hello Vedad,

The pushUpdate() method would trigger the Gantt DataBound, which will cause the full widget re-rendering. If the action updates multiple Tasks in the DtaaSource, the DataBound will be raised for each of them. That, in combination with the large number of Tasks, would result in the slow performance observed in the widget.

I am afraid that at this stage the Gantt performance could not be improved in that respect. Having that said, I would suggest you to cast your vote for the following two feature requests:

https://feedback.telerik.com/kendo-jquery-ui/1360355-load-on-demand-in-kendo-gantt

https://feedback.telerik.com/kendo-jquery-ui/1359495-gantt-virtualization

implementing Load-on-demand or Virtualization in the widget would result in improved performance, which will also reduce the execution time in the scenario in question.

Regards,
Veselin Tsvetanov
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

0
Vedad
Top achievements
Rank 2
Bronze
Bronze
Veteran
answered on 08 Oct 2020, 10:46 AM

Hi Veselin, 

Thank you for your answer. I assumed something like this is the case, but wanted to check anyway.

I don't know does it makes sense and is faster to make, to adjust pushUpdate (and other push functions) in a way when they work with array of items to update, instead of triggering dataBound on for each element in array, its triggered once after all elements are updated. This would speed things quite a lot, specially for bigger updates.

I casted votes for both features, and hope these will come to development soon.

Thank you and best regards.

Vedad

0
Veselin Tsvetanov
Telerik team
answered on 09 Oct 2020, 11:55 AM

Hello Vedad,

The suggestion to trigger render only once after all items have been changed makes perfect sense. Such a change, however, should be carefully reviewed before implementing it. That is why I have opened the following feature request on your behalf:

https://feedback.telerik.com/kendo-jquery-ui/1489199-trigger-change-only-once-for-all-items-in-an-array-passed-to-the-datasource-pushupdate-method

I would suggest you cast your vote for that too.

Regards,
Veselin Tsvetanov
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

0
Vedad
Top achievements
Rank 2
Bronze
Bronze
Veteran
answered on 09 Oct 2020, 11:57 AM

Hi Veselin, 

Thank you very much. I casted vote and I am looking forward to see any features that will improve performance in case of bigger datasets.

I will also try to find a way to optimize on my side as well, and if I find anything useful, I will post here.

Thanks again

BR, Vedad

0
Veselin Tsvetanov
Telerik team
answered on 13 Oct 2020, 08:45 AM

Hi Vedad,

Thank you too. Just let us know if you identify a reliable optimization yourself that could be beneficial for other developers too.

Regards,
Veselin Tsvetanov
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

Tags
Data Source
Asked by
Vedad
Top achievements
Rank 2
Bronze
Bronze
Veteran
Answers by
Veselin Tsvetanov
Telerik team
Vedad
Top achievements
Rank 2
Bronze
Bronze
Veteran
Share this question
or