search envelope-o feed check
Home Unanswered Active Tags New Question
user comment-o

DayPilot Scheduler is slow in IE (only in IE)

Asked by aleor
3 years ago.

Hi,

Hope you could help me. We are using Scheduler v8 (Pro) and got an issue that it's really slow in IE (10, 11, Edge). Everything is fine in Chrome and Firefox, though.

I've tried to disable nearly everything on all *Render methods but it didn't help. When I'm trying to profile it with IE, its getting even worse. If normally it takes about 3-4 seconds to load in IE (and just 1 sec in Chrome and FF), once IE Dev panel is open it takes 10 seconds to load.

JavaScript utilizes 100% of CPU, and at the bottom of the JavaScript stack there is function from daypilot-all.min.js:

this.$aV=function(x,y){if(!this.$aN){return;};var $0w=this.itline[x];if(!$0w){return;};var $1i=x+'_'+y;if(this.$7Z.cells[$1i]){return;};var p=this.$aW(x,y);if(typeof this.onBeforeCellRender==='function'){var $C=$e.rowlist[y];var $18=$C.id;var $1d=$C.start.getTime()-this.$90().getTime();var $E=$0w.start.addTime($1d);var end=$0w.end.addTime($1d);var $I=$e.cells.findXy(x,y)[0];var $h={};$h.cell=$I;$h.getPixels=function($q){var $q=new DayPilot.Date($q);var $7r=$e.getPixels($q).left;return $7r-$0w.left;};

Is there any way to solve the problem, or has anyone else got performance issues with IE?..

Comment posted by Dan Letecky [DayPilot]
3 years ago.

It looks like it's related to grid cell rendering. Can you please post your config + exact DayPilot version number?

Comment posted by aleor
3 years ago.

Hi Dan,

Full version is: DayPilotPro: 8.0.5793.0, and config is:

new DayPilotSchedulerConfig
{
AfterRenderJavaScript = "afterRenderData(data, isCallBack)",
DynamicLoading = false,
EventHeight = 20,

ShowNonBusiness = true,
DurationBarVisible = false,
BackendUrl = "Daypilot/Backend",

EventBubble = "bubble",
ContextMenu = "dpmenu",

TreeEnabled = false,
WeekStarts = DayPilot.Web.Mvc.Enums.WeekStarts.Monday,
Width = "850",

CssOnly = true,

DynamicEventRendering = DayPilot.Web.Mvc.Enums.Scheduler.DynamicEventRenderingType.Disabled,
Theme = "scheduler_blue",
StartDate = DateTime.Now.AddDays(-14),

CellWidth = CellWidth,

CellDuration = 1440,
CellGroupBy = DayPilot.Web.Mvc.Enums.GroupBy.Month,
Days = 90,

AutoScroll = DayPilot.Web.Mvc.Enums.Scheduler.AutoScrollType.Disabled,
ViewType = DayPilot.Web.Mvc.Enums.Scheduler.ViewType.Resources,
Layout = DayPilot.Web.Mvc.Enums.Scheduler.LayoutType.Auto,

EventMoveHandling = EventMoveHandlingType.JavaScript,
EventMoveJavaScript = "customMove(e, newStart, newEnd, newResource)",
EventResizeHandling = EventResizeHandlingType.JavaScript,
EventResizeJavaScript = "customResize(e, newStart, newEnd)",

TimeFormat = DayPilot.Web.Mvc.Enums.TimeFormat.Clock24Hours,
LoadingLabelText = Resources.Loading,
Resources = model.Resources,

UseEventBoxes = DayPilot.Web.Mvc.Enums.Scheduler.UseEventBoxesType.Never,

EventClickHandling = EventClickHandlingType.JavaScript,
EventClickJavaScript = "showItem(e.value())",
TimeRangeSelectedHandling = TimeRangeSelectedHandlingType.JavaScript,
TimeRangeSelectedJavaScript = "timeRangeSelected(start, end, resource)",

CrosshairColor = "#727272",
Crosshair = DayPilot.Web.Mvc.Enums.Scheduler.CrosshairType.Full
}

Comment posted by Dan Letecky [DayPilot]
3 years ago.

Thanks aleor.

This config doesn't look like it should cause any problems with cell rendering. Horizontally, the grid is just 90 cells. The following demo shows 365 cells horizontally and there doesn't seem to be any problem in IE/Edge:

http://mvc.daypilot.org/demo/Scheduler/ScaleDays

However, this option disables progressive event rendering which is not recommended:

DynamicEventRendering = DayPilot.Web.Mvc.Enums.Scheduler.DynamicEventRenderingType.Disabled, 

It renders all events at once. With a large number of events it can cause performance problems (too heavy DOM). The default option (Progressive) renders events during scrolling.

How many events and resources do you load?

Also, can you give it a try with the latest DayPilot Pro version (8.2.5834)?
http://mvc.daypilot.org/try/

Comment posted by aleor
3 years ago.

Thanks a lot for prompt responses, Dan!

We can notice slowness when there are just 30-40 events, but when there are 100 or more it becomes almost unusable on IE.

Will try to change DynamicEventRendering to Progressive and update to the latest version. Will post results here.
Thanks again!

This question is more than 3 months old and has been closed. Please create a new question if you have anything to add.