1. Use Progressive Rendering

Keep progressive rendering enabled for large schedules. It lets the Scheduler show additional content as the user scrolls.

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:

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:

ProductLitePro
DayPilot for JavaScript
DayPilot for ASP.NET WebForms
DayPilot for ASP.NET MVC
DayPilot for Java