react-big-scheduler icon indicating copy to clipboard operation
react-big-scheduler copied to clipboard

Performance Issues

Open FizzBuzz791 opened this issue 5 years ago • 30 comments

Rendering a "large" number of events (see screenshot) seems to slow things down to the point where there's noticeable lag and even "A webpage is slowing down your browser" at the Quarter and Year levels.

I haven't looked too far into it yet, but I'm fairly sure it's not an issue with my code. Figured I'd raise it here and we can discuss further and/or look into it if required.

I'm using repeating events if that's of any relevance.

image

FizzBuzz791 avatar Apr 30 '19 08:04 FizzBuzz791

+1 I am facing the same issue when the number of events goes past 70-80 events

Saikat-Sinha avatar May 01 '19 10:05 Saikat-Sinha

I just started using this library because it has great layout and functionalities out of the box.

I think that the performance issue should be due to the fact that it mutates schedulerData for every action, and causes a re-render of the whole scheduler component.

Any suggestions for making the state management more 'react style'?

hanchiang avatar May 03 '19 01:05 hanchiang

A fairly quick/dirty hack might be to just pass in the "relevant" events in the prevClick, nextClick, onSelectDate and onViewChange functions/callbacks. RBS looks through the entire event list to find what is actually relevant to render. In my situation, it's a year's worth of repeating events that's being passed, filtered, etc. every single time. For most situations, it doesn't need all that data.

That said though, I haven't tried it and it does seem like a dirty hack...

@StephenChou1017 - Any ideas or is this going to be something quite involved to fix up?

FizzBuzz791 avatar May 03 '19 01:05 FizzBuzz791

I've tried to optimize the performance issue in 0.2.7, but I don't think it's enough.

StephenChou1017 avatar May 10 '19 14:05 StephenChou1017

@StephenChou1017 Can we optimize _createRenderData() function for improve performance. I think this method is calling every time change on the scheduler.

desilvaNSP avatar May 12 '19 16:05 desilvaNSP

@StephenChou1017 - I think it's a bit better on 0.2.7, it's still taking 6 - 7 seconds of unresponsiveness to switch to Month view though (if it's that slow for Month, it's not worth trying Quarter or Year).

FizzBuzz791 avatar May 13 '19 00:05 FizzBuzz791

@FizzBuzz791 Hi, can you send your testing data(resources and events) to me and I can try it myself?:-) My email: [email protected]

StephenChou1017 avatar May 13 '19 01:05 StephenChou1017

yup, 1k events took me around minute to load... did you guys @FizzBuzz791 @hanchiang @desilvaNSP found any workaround to this?

madzadev avatar Oct 01 '19 12:10 madzadev

50+ events is loaded over 5+ seconds in my browser, about 20 resources, Help! Is it refer to the quantity of resource?

hphpwj avatar Oct 10 '19 15:10 hphpwj

Sadly, no. I was using this library for writing a quick demo at work. Now that the focus of my work has shifted and have been real busy ever since.

hanchiang avatar Oct 10 '19 22:10 hanchiang

I found the moment took a lot of time, with using of chrome performance devtools.

微信图片_20191014224703

hphpwj avatar Oct 14 '19 02:10 hphpwj

Most of the time is wasted on time format conversion.

hphpwj avatar Oct 14 '19 02:10 hphpwj

@hphpwj do you have a solution to reduce the loading time?

jeffreybos avatar Oct 22 '19 09:10 jeffreybos

@jeffreybos change localeMoment(time) to localeMoment(new Date(time)) can effectively reduce the loading time in the file SchedulerData.js. But the function Date() is time zone related, you can't replace all the localeMoment() to avoid unexpected mistakes.

hphpwj avatar Oct 23 '19 14:10 hphpwj

@StephenChou1017, @FizzBuzz791 Do we have solution to optimize for rendering large number of events on scheduler.?

desilvaNSP avatar Nov 08 '19 16:11 desilvaNSP

The response is too slow for rendering large number of events on scheduler.. any solution or suggestion pls Thanks and appreciate your help

manojkumaraut avatar Jan 24 '20 08:01 manojkumaraut

Any update on this?

ali-ehsan avatar Aug 05 '20 06:08 ali-ehsan

I always come back to see if it's improved, guess not yet 😉

madzadev avatar Jan 08 '21 10:01 madzadev

I always come back to see if it's improved, guess not yet

same here :/

mohaimenmahi avatar Jan 25 '21 12:01 mohaimenmahi

I always come back to see if it's improved, guess not yet

Me too.

jannat412 avatar Jan 25 '21 12:01 jannat412

Are there any news?

Arturo-dot avatar Jan 29 '21 09:01 Arturo-dot

Hi, has anyone found a solution to the performance issues?

matteomessmer avatar Jul 19 '21 10:07 matteomessmer

Any performance-related solutions ?

brunopapait avatar Dec 14 '21 19:12 brunopapait

Hi. I started using Syncfusion Scheduler (it has a community license)

matteomessmer avatar Dec 15 '21 14:12 matteomessmer

@matteomessmer does it have a year-in-days view?

madzadev avatar Dec 15 '21 15:12 madzadev

@madzadev yes, it has also good support and documentation

matteomessmer avatar Dec 16 '21 20:12 matteomessmer

@matteomessmer thanks a lot! 👍😉

madzadev avatar Dec 16 '21 22:12 madzadev

@StephenChou1017 what is optimise solution for performance

Ayeshashaikh24 avatar Dec 08 '22 11:12 Ayeshashaikh24