deleteTask performance is horrendeous


#1

Hi! I’ve implemented a solution to do a batch delete on multiple tasks. Depending on how many tasks are visible(some of them have children that are not visible) it can take more it takes me to reload the gantt, which I find absurd… I have a custom implementation, which I know impacts the performance on each action, but did not expect to see this at deletion. An addtask takes me around 2 seconds. It takes me around 5 seconds to load ALL the data in the gantt(around 2000 tasks spread across a pretty big timespan), but to delete a task tree of 8 tasks it takes me 9 seconds. If I want to batch delete multiple parents with their children, let’s say 32 tasks it takes me 30-35 seconds. This is not really acceptable. I’ve already applied every solution I found on the performance article(smart_rendering, static background etc.) and I am also using an gantt.batchUpdate on my for loop.

Is there any way I could improve this? Or can i remove these tasks without re-rendering? If I have more than two tasks I am better of doing this and triggering a re-render at the end.

Thanks a lot for the help!


#2

Hello Emilian,
To delete several tasks and repaint the changes only once, you will need to use the batchUpdate method:
https://docs.dhtmlx.com/gantt/api__gantt_batchupdate.html

I tried to reproduce the issue in the following snippets, I don’t see any performance issues:
http://snippet.dhtmlx.com/5/664299135
http://snippet.dhtmlx.com/5/eeaad3ded

Probably, the issue is related to the Gantt configuration, but it is hard to suggest what might be wrong as I don’t see your code.
In that case, please, add your configuration in the following snippet and make sure that the issue is reproduced there:
https://snippet.dhtmlx.com/38ee1b370
Then, click on the Share button and send me the link.
Or send me a ready demo with all the necessary Javascript and CSS files so that I can reproduce the issue locally.