Testing the gannt component the initilzation and re render times on updates with only 200+ events/tasks is too slow.
I share a minimal angular project with an example simulating our use case for the gannt component.
Here I simulate a endpoint call that when the user updates the dates or the resource of the event with drag and drop or resizing, other tasks associated get updated by the "server" so the events are re created.
This refresh process is to slow with only 220 events taking up to 10 seconds to re-render the component.
I tried the virutalization but with the new features doesn't works.
Here is the gantt without virtualization:
But when enable the events doesn't get drawn:
Hi Cesar Smerling
After reviewing the sample you provided, we noticed that every action results in a change in the entire data source in the updateGanttTask method, which could be causing the issue, could you please tell us what’s the requirement to change all of the data source on each drag or resize action, which will be helpful for us to provide the alternate solution for this
That is the requeriment the method is simulating a server like I mention. The tasks are re constructed on any update made by the user.
Virtualization is not working, and like I mention, the first render of the gantt is slow too not only the update. So is not the updateGanttTask method the problem, is the gantt. There is a way to improve this??
I am also having problems with virtual scrolling (but different)
Maybe this case would be more similar to yours?
Query#:-the first render of the gantt is slow too not only the update. So is not the updateGanttTask method the problem, is the gantt?
To further investigate this issue, we have reviewed your query and attached a video sample where we run the sample that you’ve provided without any modification. We have noticed the time taken to render the Gantt by using the load and created event, and that time is logged in the console which is 189ms. and we haven’t faced any delay on the initial rendering as you have reported so the delay might occur due to the method updateGanttTask(only on performing actions).
Are you taking serious this issue?? It's seem that you are trying to delay or recognized the problem, taking our valuable time to waste.
Have you seen the video?? I checked the video:
Here I updated the code to log some times, here is what I got:
I added a timer to the updateGanttTask method (the timer starts when is called and stops when the component receive the data) and a timer in the dataBound method of the gantt component (it start on the ngOnChanges when the component receive the data and stops in the dataBound that is seems its when the task are show at the gantt).
The re-render that I mentioned takes between 5 to 6 second only with 220 tasks, and we will have more. This is not slow,is very slow.
I shared the code that I added.
I hope you take some consideration because this is not the first time that you take to many steps to recognize a problem to fix.
We are validating the reported query and we will update you further details within two business days(May 3rd 2023).
Until then we appreciate your patience.
Upon reviewing , we found that the delay is due to the Gantt chart rendering all the taskbars first and then processing the multitask bar and rendering it in the same row.
By using virtual scroll the performance of rendering the Gantt will be improved, but unfortunately, As of now, we do not have support to achieve that requirement. We have logged a feature request for the requirement. You can track the status of the feature from the feedback link given below.
We have already lined up some major features, we could not implement this support immediately. We will implement this and include it in any of our upcoming releases. Please cast your vote on this feature. Based on the customer demand we will prioritize the features in our upcoming road map. You can communicate with us or track the status of the feature using the feedback link.