1. Use Progressive Rendering
Keep progressive rendering enabled for large schedules. It lets the Scheduler show additional content as the user scrolls.
grid cells are always rendered progressively
events are rendered progressively by default, can be turned off
row headers are rendered progressively by default, can be turned off
Keep progressive rendering enabled for large data sets. Progressive time header rendering is also enabled by default in Pro since version 2026.4.7080; see Progressive Time Header Rendering.
You can only turn it off for really small data sets to eliminate the slight delays before the elements are rendered during scrolling.
2. Adjust Scrolling Delays
If scrolling feels slow with complex event or header content, a short display delay can make it smoother. Higher delays give the browser more time, but users may wait longer for content to appear.
Properties
Use the following properties to adjust the rendering delays in milliseconds:
scrollDelayDynamic (default value:
150) - the delay before onScroll is called when dynamic event loading is enabledscrollDelayCells (default value:
0) - the delay before cells are renderedscrollDelayEvents (default value:
"Auto") - the delay before events are rendered (when progressive event rendering is enabled)scrollDelayFloats (default value:
0) - the delay before the floating event overlays are updatedscrollDelayRows (default value:
0) - the delay before row headers are rendered (only applicable when progressive row rendering is enabled); available since 2019.4.4075
scrollDelayTimeHeaders (default 0) delays additional time headers until scrolling pauses. A positive value can leave newly visible header areas blank during the delay. Use scrollDelayFloats to adjust how quickly floating labels follow the scroll position.
Tuning
Start with the defaults and test with realistic data on the devices your application supports. Adjust one setting at a time. A value of 0 displays the affected content immediately; a positive delay trades some display responsiveness for smoother scrolling.
Use the smallest delay that improves scrolling without making content appear noticeably late.
3. Choose Automatic or Fixed Row Header Width
Row header width auto-fit is enabled by default and keeps resource names readable without choosing a width manually. For large resource lists with complex headers, compare it with a suitable fixed width.
Pro version 2026.4.7079 improves auto-fit performance. Test with your own data before changing the default.
4. Keep Visible Content Simple
Complex custom event and cell content can slow scrolling, particularly when many small events are visible at once.
Things you can try:
Keep custom HTML and permanently visible active areas simple.
Adjust the scale to display fewer items in the viewport.
Adjust the cell and event dimensions (event height, cell width) to display fewer items in the viewport.
Lower dynamicEventRenderingCacheSize if memory use is a concern; check that scrolling back remains responsive.
5. Minimize Real-Time Rendering Code
Keep onBeforeCellRender handlers fast because they customize many cells. Calculate reusable data in advance and avoid slow work in the callback. See beforeCellRenderCaching for its caching option.
The onBeforeEventRender event is called during event loading and doesn't affect scrolling performance.
Availability
Availability of this feature in DayPilot editions:
| Product | Lite | Pro |
|---|---|---|
| DayPilot for JavaScript | ||
| DayPilot for ASP.NET WebForms | ||
| DayPilot for ASP.NET MVC | ||
| DayPilot for Java |
DayPilot