January 16, 2018, 11:41:26 AM

See more Support incidents in our old archived forum.

Author Topic: Vertical scrolling performance issues  (Read 1756 times)

ricky.blankenaufulland

  • Customers
  • Newbie
  • *
  • Posts: 18
Vertical scrolling performance issues
« on: December 21, 2015, 01:51:47 PM »
Hello,

I ran into performance issues with FlexyGantt and vertical scrolling. I have already activated ScrollViewer.IsDeferredScrollingEnabled="True" but it improved only slightly. GanttChartVirtualization is turned on.
What can I do further to improve it?

My target is to display like 200 rows with 360 to 720 tasks each (one for every day). Will send you a minimal example to your support mail address.

Best regards,
Ricky

ricky.blankenaufulland

  • Customers
  • Newbie
  • *
  • Posts: 18
Re: Vertical scrolling performance issues
« Reply #1 on: December 21, 2015, 04:28:48 PM »
I just tried to use FilterTasksByTimeRange to improve horizontal scrolling (which is not a big issue at the moment). Just to check if it would improve vertical scrolling to. But no change there.

ricky.blankenaufulland

  • Customers
  • Newbie
  • *
  • Posts: 18
Re: Vertical scrolling performance issues
« Reply #2 on: December 21, 2015, 04:48:09 PM »
Also note: I have enhanced the example "ServerStatusWithHugeData" to show 200 servers (=rows) and it works vertically much better than my example. Not sure why that is.

ForumAdmin

  • Administrator
  • Jr. Member
  • *****
  • Posts: 77
Re: Vertical scrolling performance issues
« Reply #3 on: December 21, 2015, 10:07:16 PM »
Ricky,

Can you send us an updated sample with FilterTasksByTimeRange implemented as you mentioned? That should have improved this quite a bit. We will then compare it with the ServerStatusWithHugeData sample and figure out what might have been missed.

Thanks
RQ Support

ricky.blankenaufulland

  • Customers
  • Newbie
  • *
  • Posts: 18
Re: Vertical scrolling performance issues
« Reply #4 on: December 22, 2015, 07:12:11 AM »
Hi!

I have sent you the new example.

When I compare it with the enhanced ServerStatusWithHugeData (200 rows), my observation is like:
- ServerStatusWithHugeData200: Click to scroll vertically: takes half a second; horizontally depending on the time scale but relatively smoothly
- My Performance1 exampl: Click to scroll vertically: takes at least 2 seconds; horizontally compareable to ServerStatusWithHugeData200 and okay

Best regards,
Ricky

ForumAdmin

  • Administrator
  • Jr. Member
  • *****
  • Posts: 77
Re: Vertical scrolling performance issues
« Reply #5 on: December 22, 2015, 11:56:33 AM »
Ricky,

Thanks for the sample. One thing to note is that in our ServerStatusWithHugeData sample, we have not turned on UseChartVirtualization, that might be the difference between the 2 samples.

With the above setting on, loading will be faster but scrolling will be slower. With the above off, the opposite.

Regards,
RQ Support

ricky.blankenaufulland

  • Customers
  • Newbie
  • *
  • Posts: 18
Re: Vertical scrolling performance issues
« Reply #6 on: December 23, 2015, 08:34:54 AM »
Hmmm, this is interesting.

You are right, without UseChartVirtualization the scrolling is smooth after loading. But I recommend to implement FilterTasksByTimeRange when doing so because in my case I got into memory issues (and heavy load times) because it build up way to much views.

But I am still wondering, without UseChartVirt and with FilterTaskByTimeRange, when paging, it takes long time (also the underlying collection is already filled and FilterTasksByTimeRange does not take long). Any idea about this?

ricky.blankenaufulland

  • Customers
  • Newbie
  • *
  • Posts: 18
Re: Vertical scrolling performance issues
« Reply #7 on: December 23, 2015, 09:25:40 AM »
Also note: With FilterTasksByTimeRange I cannot use a CollectionView for filtering anymore so I have to move the filter logic into the GanttOnFilterTasksByTimeRange handler - which is not a problem but how can I tell the gantt to re-evaluate one row (because the filter has changed)?

----

Okay, found out I can call Refresh() on my collection so bindings should be refreshed and FilterTasksByTimeRange is getting reapplied.
« Last Edit: December 23, 2015, 09:33:39 AM by ricky.blankenaufulland »

Rajagopal

  • RQ Members
  • Jr. Member
  • *
  • Posts: 92
Re: Vertical scrolling performance issues
« Reply #8 on: December 28, 2015, 06:47:19 AM »
Ricky,

We assume that, the above fixed your issue. Let us know if you have any questions.


Thanks,
- Raja

ricky.blankenaufulland

  • Customers
  • Newbie
  • *
  • Posts: 18
Re: Vertical scrolling performance issues
« Reply #9 on: December 28, 2015, 09:18:28 AM »
While the situation improved, I am still not satisfied with the performance as the data currently visible without scrolling is not too much to my understanding. I got the feeling that using virtualization for the chart would be better and it was not bad if you neglect the vertical scrolling. Maybe you could improve virtualization for vertical scrolling if you define more "overlapping" (render some of the rows not visible like TimeRangeFilteredTasksTimeBuffer).

Also a big part of loading blocks the UI and this also happens when printing. Would be great if you could do the work async, i.e. locking the gantt but not the UI until printed/loaded.

ricky.blankenaufulland

  • Customers
  • Newbie
  • *
  • Posts: 18
Re: Vertical scrolling performance issues
« Reply #10 on: December 28, 2015, 09:25:09 AM »
Also, is it possible to maybe deactivate further validations to speed up even more?

ForumAdmin

  • Administrator
  • Jr. Member
  • *****
  • Posts: 77
Re: Vertical scrolling performance issues
« Reply #11 on: December 28, 2015, 10:12:19 PM »
Ricky,

All performance optimization options are discussed in the UG Topic "FlexyGantt/FlexyGantt Basics/Performance Optimization Options". Please check if you covered everything.

How long does it take to load the gantt now in your application?

RQSupport