TreeTimeline (Terrace) Performance Issues

Using the code below the performance issues with the TreeTimeline view of the scheduler are very evident. The drag and drop of an event is really slow. I commented out the parts that used to be loaded by ajax and assigned them to variables so you could replicate the scheduler. The other issue with the TreeTimeline is the expansion/collapsing of the tree nodes. When a tree node is clicked it collapses but returns you to the top the scheduler instead of maintaining the position.

NOTE: in the code you will need to adjust the init statement to the correct id of your scheduler since mine uses jQuery to reference the container.

//==========================================================
                    // Timeline Configuration
                    //==========================================================
                    scheduler.locale.labels.timeline_tab = "Timeline"
                    scheduler.locale.labels.day_tab = "Group"
                    scheduler.config.xml_date = "%n/%j/%Y %H:%i";
                    scheduler.config.drag_resize = false;
                    scheduler.config.drag_create = false;
                    scheduler.config.dblclick_create = false;

                    var y_unit = [{ key: 1, label: "Driver #1", open: true, children: [{ key: 2, label: "SYKP-01" }, { key: 3, label: "SYOE-01"}] }, { key: 4, label: "Driver #2", open: true, children: [{ key: 5, label: "SYOB-01" }, { key: 6, label: "SYIA-01" }, { key: 7, label: "SYKC-01"}] }, { key: 8, label: "Driver #3", open: true, children: [{ key: 9, label: "SYOD-03" }, { key: 10, label: "SYIG-04"}] }, { key: 11, label: "Driver #4", open: true, children: [{ key: 12, label: "SYIG-03" }, { key: 13, label: "SYOD-01"}] }, { key: 14, label: "Driver #5", open: true, children: [{ key: 15, label: "SYOD-02" }, { key: 16, label: "SYIG-05"}] }, { key: 17, label: "Driver #6", open: true, children: [{ key: 18, label: "SYKR-01" }, { key: 19, label: "SYTC-02"}] }, { key: 20, label: "Driver #7", open: true, children: [{ key: 21, label: "SYLX-04"}] }, { key: 22, label: "Driver #8", open: true, children: [{ key: 23, label: "SYKS-01" }, { key: 24, label: "SYKR-03"}] }, { key: 25, label: "Driver #9", open: true, children: [{ key: 26, label: "SYLX-01" }, { key: 27, label: "SYKC-02"}] }, { key: 28, label: "Driver #10", open: true, children: [{ key: 29, label: "HYK-02" }, { key: 30, label: "SYKP-02"}] }, { key: 31, label: "Driver #11", open: true, children: [{ key: 32, label: "SYKT-01" }, { key: 33, label: "SYIX-05"}] }, { key: 34, label: "Driver #12", open: true, children: [{ key: 35, label: "SYKQ-04" }, { key: 36, label: "HYD-05"}] }, { key: 37, label: "Driver #13", open: true, children: [{ key: 38, label: "HYD-02" }, { key: 39, label: "SYKQ-05"}] }, { key: 40, label: "Driver #14", open: true, children: [{ key: 41, label: "SYIX-01" }, { key: 42, label: "SYKE-02"}] }, { key: 43, label: "Driver #15", open: true, children: [{ key: 44, label: "SYOZ-01" }, { key: 45, label: "SYKB-03"}] }, { key: 46, label: "Driver #16", open: true, children: [{ key: 47, label: "SYKU-01" }, { key: 48, label: "SYKU-02" }, { key: 49, label: "SYKU-03"}] }, { key: 50, label: "Driver #17", open: true, children: [{ key: 51, label: "SYKO-01" }, { key: 52, label: "SYTD-01"}] }, { key: 53, label: "Driver #18", open: true, children: [{ key: 54, label: "SYKX-01"}] }, { key: 55, label: "Driver #19", open: true, children: [{ key: 56, label: "SYKU-04" }, { key: 57, label: "SYKS-02"}] }, { key: 58, label: "Driver #20", open: true, children: [{ key: 59, label: "SYOC-03" }, { key: 60, label: "SYIG-02"}] }, { key: 61, label: "Driver #21", open: true, children: [{ key: 62, label: "SYII-04" }, { key: 63, label: "SYKV-02"}] }, { key: 64, label: "Driver #22", open: true, children: [{ key: 65, label: "SYII-02" }, { key: 66, label: "SYID-01"}] }, { key: 67, label: "Driver #23", open: true, children: [{ key: 68, label: "SYOC-02" }, { key: 69, label: "HYD-01"}] }, { key: 70, label: "Driver #24", open: true, children: [{ key: 71, label: "SYIB-02" }, { key: 72, label: "SYKA-02"}] }, { key: 73, label: "Driver #25", open: true, children: [{ key: 74, label: "SYII-01" }, { key: 75, label: "SYKV-01"}] }, { key: 76, label: "Driver #26", open: true, children: [{ key: 77, label: "SYIG-01" }, { key: 78, label: "SYOA-01"}] }, { key: 79, label: "Driver #27", open: true, children: [{ key: 80, label: "SYII-03" }, { key: 81, label: "SYWV-01"}] }, { key: 82, label: "Driver #28", open: true, children: [{ key: 83, label: "SYIJ-01" }, { key: 84, label: "SYKB-01"}] }, { key: 85, label: "Driver #29", open: true, children: [{ key: 86, label: "SYTF-01"}] }, { key: 87, label: "Driver #30", open: true, children: [{ key: 88, label: "SYTF-02"}] }, { key: 89, label: "Driver #31", open: true, children: [{ key: 90, label: "SYTF-03"}] }, { key: 91, label: "Driver #32", open: true, children: [{ key: 92, label: "SYIW-02"}] }, { key: 93, label: "Driver #33", open: true, children: [{ key: 94, label: "SYIA-02" }, { key: 95, label: "SYKE-01"}] }, { key: 96, label: "Driver #34", open: true, children: [{ key: 97, label: "SYTG-01"}] }, { key: 98, label: "Driver #35", open: true, children: [{ key: 99, label: "SYTG-02"}] }, { key: 100, label: "Driver #36", open: true, children: [{ key: 101, label: "HYD-03" }, { key: 102, label: "SYKR-02"}] }, { key: 103, label: "Driver #37", open: true, children: [{ key: 104, label: "SYTG-03"}] }, { key: 105, label: "Driver #38", open: true, children: [{ key: 106, label: "SYTG-04"}] }, { key: 107, label: "Driver #39", open: true, children: [{ key: 108, label: "SYIW-01"}] }, { key: 109, label: "Driver #40", open: true, children: [{ key: 110, label: "SYOZ-02"}] }, { key: 111, label: "Driver #41", open: true, children: [{ key: 112, label: "SYKZ-02" }, { key: 113, label: "SYKC-03"}] }, { key: 114, label: "Driver #42", open: true, children: [{ key: 115, label: "SYTA-01"}] }, { key: 116, label: "Driver #43", open: true, children: [{ key: 117, label: "SYTB-03" }, { key: 118, label: "SYKD-01"}] }, { key: 119, label: "Driver #44", open: true, children: [{ key: 120, label: "SYIY-01"}] }, { key: 121, label: "Driver #45", open: true, children: [{ key: 122, label: "SYIB-01"}] }, { key: 123, label: "Driver #46", open: true, children: [{ key: 124, label: "SYTA-02"}] }, { key: 125, label: "Driver #47", open: true, children: [{ key: 126, label: "SYKZ-03" }, { key: 127, label: "SYKA-01"}] }, { key: 128, label: "Driver #48", open: true, children: [{ key: 129, label: "SYKQ-03" }, { key: 130, label: "SYKU-05"}] }, { key: 131, label: "Driver #49", open: true, children: [{ key: 132, label: "SYIY-02"}] }, { key: 133, label: "Driver #50", open: true, children: [{ key: 134, label: "SYKW-02"}] }, { key: 135, label: "Driver #51", open: true, children: [{ key: 136, label: "SYKZ-01"}] }, { key: 137, label: "Driver #52", open: true, children: [{ key: 138, label: "SYIE-03" }, { key: 139, label: "SYKD-02"}] }, { key: 140, label: "Driver #53", open: true, children: [{ key: 141, label: "SYKW-01"}] }, { key: 142, label: "Driver #54", open: true, children: [{ key: 143, label: "SYKW-03"}] }, { key: 144, label: "Driver #55", open: true, children: [{ key: 145, label: "SYWV-02"}] }, { key: 146, label: "Driver #56", open: true, children: [{ key: 147, label: "SYIF-01"}] }, { key: 148, label: "Driver #57", open: true, children: [{ key: 149, label: "SYTB-01"}] }, { key: 150, label: "Driver #58", open: true, children: [{ key: 151, label: "SYTB-02"}] }, { key: 152, label: "Driver #59", open: true, children: [{ key: 153, label: "SYOE-02"}] }, { key: 154, label: "Driver #60", open: true, children: [{ key: 155, label: "SYKB-02" }, { key: 156, label: "SYIC-03"}] }, { key: 157, label: "Driver #61", open: true, children: [{ key: 158, label: "SYIX-03"}] }, { key: 159, label: "Driver #62", open: true, children: [{ key: 160, label: "SYIX-04"}] }, { key: 161, label: "Driver #63", open: true, children: [{ key: 162, label: "SYIX-02"}] }, { key: 163, label: "Driver #64", open: true, children: [{ key: 164, label: "HYK-04"}] }, { key: 165, label: "Driver #65", open: true, children: [{ key: 166, label: "HYK-01"}] }, { key: 167, label: "Driver #66", open: true, children: [{ key: 168, label: "HYK-03"}] }, { key: 169, label: "Driver #67", open: true, children: [{ key: 170, label: "HYK-05"}] }, { key: 171, label: "Driver #68", open: true, children: [{ key: 172, label: "SYIE-01"}] }, { key: 173, label: "Driver #69", open: true, children: [{ key: 174, label: "SYIE-02"}] }, { key: 175, label: "Driver #70", open: true, children: [{ key: 176, label: "SYTC-01"}] }, { key: 177, label: "Driver #71", open: true, children: [{ key: 178, label: "SYOC-01"}] }, { key: 179, label: "Driver #72", open: true, children: [{ key: 180, label: "SYIC-01"}] }, { key: 181, label: "Driver #73", open: true, children: [{ key: 182, label: "SYIC-02"}] }, { key: 183, label: "Driver #74", open: true, children: [{ key: 184, label: "SYII-05"}] }, { key: 185, label: "Driver #75", open: true, children: [{ key: 186, label: "HYD-04"}] }, { key: 187, label: "Driver #76", open: true, children: [{ key: 188, label: "SYKQ-01"}] }, { key: 189, label: "Driver #77", open: true, children: [{ key: 190, label: "SYKQ-02"}] }, { key: 191, label: "Driver #78", open: true, children: [{ key: 192, label: "SYID-02"}]}];
                    
                    scheduler.createTimelineView({
                        section_autoheight: false,
                        name: "timeline",
                        x_unit: "hour",
                        x_date: "%H",
                        x_step: 1,
                        x_size: 42, //eval(data.d.Size),
                        x_start: -7, //eval(data.d.Start),
                        x_length: 42, //eval(data.d.Size),
                        y_unit: y_unit, //eval(data.d.Data),
                        y_property: "section_id",
                        render: "tree",
                        folder_events_available: false, // Make true when you want to show the supplier breakdown
                        dy: 20
                    });

                    //=======================================================================
                    // Patch used to prevent users from dragging events between tree rows
                    //=======================================================================
                    var old_section_id = 0;
                    var old_start_date = null;
                    var old_end_date = null;
                    scheduler.attachEvent("onBeforeDrag", function (event_id, mode, native_event_object) {
                        if (mode == "move") {
                            var event = scheduler.getEvent(event_id);
                            old_section_id = event.section_id;
                            old_start_date = event.start_date;
                            old_end_date = event.end_date;
                        }
                        return true;
                    });
                    scheduler.attachEvent("onBeforeEventChanged", function (event, native_event, is_new) {
                        if (!is_new) {
                            if (event.section_id != old_section_id) {
                                event.section_id = old_section_id;
                                event.start_date = old_start_date;
                                event.end_date = old_end_date;
                            }
                            else {
                                //alert('live update');
                            }
                        }
                        return true;
                    });

                    //=======================================================================
                    // Patch used to correct the scheduler being in a div with "style: none" 
                    //=======================================================================
                    function isVisible() {
                        return Math.min(scheduler._obj.offsetWidth, scheduler._obj.offsetHeight) > 0;
                    }
                    var oldUpdateView = scheduler.updateView;
                        scheduler.updateView = function () {
                        if (isVisible()) {
                            oldUpdateView.apply(scheduler, arguments);
                        }
                    };
                    var oldUpdate_view = scheduler.update_view;
                        scheduler.update_view = function () {
                        if (isVisible()) {
                            oldUpdate_view.apply(scheduler, arguments);
                        }
                    };                    

                    //==========================================================
                    // Timeline Data Loading (Events and Operating Hours)
                    //==========================================================
                    var scheduler_id = $('[id$=MyTimeline]').attr("id");
                    scheduler.init(scheduler_id, new Date("01/01/1900"), "timeline");

                    var events = [{ start_date: "01/01/1900 10:00", end_date: "01/01/1900 14:30", text: "SYKP-01", section_id: 2 }, { start_date: "01/01/1900 00:30", end_date: "01/01/1900 09:55", text: "SYOE-01", section_id: 3 }, { start_date: "01/01/1900 11:45", end_date: "01/01/1900 17:15", text: "SYOB-01", section_id: 5 }, { start_date: "01/01/1900 03:25", end_date: "01/01/1900 10:00", text: "SYIA-01", section_id: 6 }, { start_date: "01/01/1900 10:00", end_date: "01/01/1900 11:45", text: "SYKC-01", section_id: 7 }, { start_date: "01/01/1900 20:05", end_date: "01/02/1900 02:45", text: "SYOD-03", section_id: 9 }, { start_date: "01/01/1900 13:05", end_date: "01/01/1900 20:05", text: "SYIG-04", section_id: 10 }, { start_date: "01/01/1900 12:00", end_date: "01/01/1900 19:00", text: "SYIG-03", section_id: 12 }, { start_date: "01/01/1900 05:50", end_date: "01/01/1900 12:00", text: "SYOD-01", section_id: 13 }, { start_date: "01/01/1900 12:50", end_date: "01/01/1900 19:00", text: "SYOD-02", section_id: 15 }, { start_date: "01/01/1900 19:00", end_date: "01/02/1900 02:00", text: "SYIG-05", section_id: 16 }, { start_date: "01/01/1900 07:00", end_date: "01/01/1900 12:05", text: "SYKR-01", section_id: 18 }, { start_date: "01/01/1900 12:40", end_date: "01/01/1900 20:30", text: "SYTC-02", section_id: 19 }, { start_date: "01/01/1900 16:35", end_date: "01/02/1900 04:55", text: "SYLX-04", section_id: 21 }, { start_date: "01/01/1900 04:45", end_date: "01/01/1900 13:05", text: "SYKS-01", section_id: 23 }, { start_date: "01/01/1900 13:30", end_date: "01/01/1900 18:40", text: "SYKR-03", section_id: 24 }, { start_date: "01/01/1900 02:00", end_date: "01/01/1900 12:50", text: "SYLX-01", section_id: 26 }, { start_date: "01/01/1900 14:05", end_date: "01/01/1900 15:50", text: "SYKC-02", section_id: 27 }, { start_date: "01/01/1900 07:40", end_date: "01/01/1900 15:40", text: "HYK-02", section_id: 29 }, { start_date: "01/01/1900 16:05", end_date: "01/01/1900 20:35", text: "SYKP-02", section_id: 30 }, { start_date: "01/01/1900 07:00", end_date: "01/01/1900 12:25", text: "SYKT-01", section_id: 32 }, { start_date: "01/01/1900 12:35", end_date: "01/01/1900 20:50", text: "SYIX-05", section_id: 33 }, { start_date: "01/01/1900 15:50", end_date: "01/01/1900 23:25", text: "SYKQ-04", section_id: 35 }, { start_date: "01/01/1900 23:55", end_date: "01/02/1900 05:40", text: "HYD-05", section_id: 36 }, { start_date: "01/01/1900 13:10", end_date: "01/01/1900 18:55", text: "HYD-02", section_id: 38 }, { start_date: "01/01/1900 19:15", end_date: "01/02/1900 02:45", text: "SYKQ-05", section_id: 39 }, { start_date: "01/01/1900 04:15", end_date: "01/01/1900 12:30", text: "SYIX-01", section_id: 41 }, { start_date: "01/01/1900 12:35", end_date: "01/01/1900 17:00", text: "SYKE-02", section_id: 42 }, { start_date: "01/01/1900 02:35", end_date: "01/01/1900 13:30", text: "SYOZ-01", section_id: 44 }, { start_date: "01/01/1900 13:30", end_date: "01/01/1900 16:05", text: "SYKB-03", section_id: 45 }, { start_date: "01/01/1900 05:20", end_date: "01/01/1900 09:45", text: "SYKU-01", section_id: 47 }, { start_date: "01/01/1900 10:05", end_date: "01/01/1900 14:35", text: "SYKU-02", section_id: 48 }, { start_date: "01/01/1900 14:35", end_date: "01/01/1900 19:05", text: "SYKU-03", section_id: 49 }, { start_date: "01/01/1900 07:00", end_date: "01/01/1900 11:00", text: "SYKO-01", section_id: 51 }, { start_date: "12/31/1899 22:05", end_date: "01/01/1900 07:00", text: "SYTD-01", section_id: 52 }, { start_date: "01/01/1900 06:40", end_date: "01/01/1900 19:35", text: "SYKX-01", section_id: 54 }, { start_date: "01/01/1900 17:55", end_date: "01/01/1900 22:25", text: "SYKU-04", section_id: 56 }, { start_date: "01/01/1900 09:05", end_date: "01/01/1900 17:25", text: "SYKS-02", section_id: 57 }, { start_date: "01/01/1900 18:10", end_date: "01/01/1900 23:50", text: "SYOC-03", section_id: 59 }, { start_date: "01/01/1900 10:30", end_date: "01/01/1900 17:25", text: "SYIG-02", section_id: 60 }, { start_date: "01/01/1900 16:30", end_date: "01/01/1900 23:15", text: "SYII-04", section_id: 62 }, { start_date: "01/01/1900 09:20", end_date: "01/01/1900 16:15", text: "SYKV-02", section_id: 63 }, { start_date: "01/01/1900 06:00", end_date: "01/01/1900 13:35", text: "SYII-02", section_id: 65 }, { start_date: "12/31/1899 23:55", end_date: "01/01/1900 05:00", text: "SYID-01", section_id: 66 }, { start_date: "01/01/1900 14:50", end_date: "01/01/1900 21:30", text: "SYOC-02", section_id: 68 }, { start_date: "01/01/1900 08:25", end_date: "01/01/1900 14:10", text: "HYD-01", section_id: 69 }, { start_date: "01/01/1900 05:20", end_date: "01/01/1900 17:45", text: "SYIB-02", section_id: 71 }, { start_date: "01/01/1900 17:55", end_date: "01/01/1900 19:00", text: "SYKA-02", section_id: 72 }, { start_date: "12/31/1899 23:00", end_date: "01/01/1900 05:45", text: "SYII-01", section_id: 74 }, { start_date: "01/01/1900 05:45", end_date: "01/01/1900 12:15", text: "SYKV-01", section_id: 75 }, { start_date: "01/01/1900 05:45", end_date: "01/01/1900 12:40", text: "SYIG-01", section_id: 77 }, { start_date: "01/01/1900 12:50", end_date: "01/01/1900 18:55", text: "SYOA-01", section_id: 78 }, { start_date: "01/01/1900 14:05", end_date: "01/01/1900 20:50", text: "SYII-03", section_id: 80 }, { start_date: "01/01/1900 06:55", end_date: "01/01/1900 14:05", text: "SYWV-01", section_id: 81 }, { start_date: "01/01/1900 10:00", end_date: "01/01/1900 19:55", text: "SYIJ-01", section_id: 83 }, { start_date: "01/01/1900 06:35", end_date: "01/01/1900 09:10", text: "SYKB-01", section_id: 84 }, { start_date: "01/01/1900 02:50", end_date: "01/01/1900 15:10", text: "SYTF-01", section_id: 86 }, { start_date: "01/01/1900 06:55", end_date: "01/01/1900 19:15", text: "SYTF-02", section_id: 88 }, { start_date: "01/01/1900 10:45", end_date: "01/01/1900 23:05", text: "SYTF-03", section_id: 90 }, { start_date: "01/01/1900 06:40", end_date: "01/01/1900 18:40", text: "SYIW-02", section_id: 92 }, { start_date: "01/01/1900 17:25", end_date: "01/02/1900 00:00", text: "SYIA-02", section_id: 94 }, { start_date: "01/01/1900 10:05", end_date: "01/01/1900 17:15", text: "SYKE-01", section_id: 95 }, { start_date: "01/01/1900 02:45", end_date: "01/01/1900 15:40", text: "SYTG-01", section_id: 97 }, { start_date: "01/01/1900 07:00", end_date: "01/01/1900 19:50", text: "SYTG-02", section_id: 99 }, { start_date: "01/01/1900 16:55", end_date: "01/01/1900 22:40", text: "HYD-03", section_id: 101 }, { start_date: "01/01/1900 10:20", end_date: "01/01/1900 15:30", text: "SYKR-02", section_id: 102 }, { start_date: "01/01/1900 10:05", end_date: "01/01/1900 22:05", text: "SYTG-03", section_id: 104 }, { start_date: "01/01/1900 12:40", end_date: "01/02/1900 00:40", text: "SYTG-04", section_id: 106 }, { start_date: "01/01/1900 04:10", end_date: "01/01/1900 15:20", text: "SYIW-01", section_id: 108 }, { start_date: "01/01/1900 11:35", end_date: "01/01/1900 22:30", text: "SYOZ-02", section_id: 110 }, { start_date: "01/01/1900 07:15", end_date: "01/01/1900 18:25", text: "SYKZ-02", section_id: 112 }, { start_date: "01/01/1900 19:10", end_date: "01/01/1900 20:55", text: "SYKC-03", section_id: 113 }, { start_date: "01/01/1900 03:55", end_date: "01/01/1900 15:40", text: "SYTA-01", section_id: 115 }, { start_date: "01/01/1900 16:15", end_date: "01/02/1900 01:35", text: "SYTB-03", section_id: 117 }, { start_date: "01/01/1900 12:40", end_date: "01/01/1900 15:25", text: "SYKD-01", section_id: 118 }, { start_date: "01/01/1900 05:35", end_date: "01/01/1900 16:40", text: "SYIY-01", section_id: 120 }, { start_date: "01/01/1900 04:05", end_date: "01/01/1900 15:25", text: "SYIB-01", section_id: 122 }, { start_date: "01/01/1900 06:35", end_date: "01/01/1900 17:45", text: "SYTA-02", section_id: 124 }, { start_date: "01/01/1900 09:45", end_date: "01/01/1900 21:00", text: "SYKZ-03", section_id: 126 }, { start_date: "01/01/1900 07:55", end_date: "01/01/1900 09:00", text: "SYKA-01", section_id: 127 }, { start_date: "01/01/1900 13:30", end_date: "01/01/1900 21:00", text: "SYKQ-03", section_id: 129 }, { start_date: "01/01/1900 21:10", end_date: "01/02/1900 01:40", text: "SYKU-05", section_id: 130 }, { start_date: "01/01/1900 06:45", end_date: "01/01/1900 17:40", text: "SYIY-02", section_id: 132 }, { start_date: "01/01/1900 07:45", end_date: "01/01/1900 18:40", text: "SYKW-02", section_id: 134 }, { start_date: "01/01/1900 04:15", end_date: "01/01/1900 15:30", text: "SYKZ-01", section_id: 136 }, { start_date: "01/01/1900 09:25", end_date: "01/01/1900 18:50", text: "SYIE-03", section_id: 138 }, { start_date: "01/01/1900 19:40", end_date: "01/01/1900 22:25", text: "SYKD-02", section_id: 139 }, { start_date: "01/01/1900 04:05", end_date: "01/01/1900 14:15", text: "SYKW-01", section_id: 141 }, { start_date: "01/01/1900 10:20", end_date: "01/01/1900 20:30", text: "SYKW-03", section_id: 143 }, { start_date: "01/01/1900 08:55", end_date: "01/01/1900 20:00", text: "SYWV-02", section_id: 145 }, { start_date: "01/01/1900 08:00", end_date: "01/01/1900 17:15", text: "SYIF-01", section_id: 147 }, { start_date: "01/01/1900 02:00", end_date: "01/01/1900 11:15", text: "SYTB-01", section_id: 149 }, { start_date: "01/01/1900 06:45", end_date: "01/01/1900 16:00", text: "SYTB-02", section_id: 151 }, { start_date: "01/01/1900 07:50", end_date: "01/01/1900 17:15", text: "SYOE-02", section_id: 153 }, { start_date: "01/01/1900 10:05", end_date: "01/01/1900 12:45", text: "SYKB-02", section_id: 155 }, { start_date: "01/01/1900 15:00", end_date: "01/01/1900 23:45", text: "SYIC-03", section_id: 156 }, { start_date: "01/01/1900 07:55", end_date: "01/01/1900 16:15", text: "SYIX-03", section_id: 158 }, { start_date: "01/01/1900 10:10", end_date: "01/01/1900 18:30", text: "SYIX-04", section_id: 160 }, { start_date: "01/01/1900 06:05", end_date: "01/01/1900 14:20", text: "SYIX-02", section_id: 162 }, { start_date: "01/01/1900 18:25", end_date: "01/02/1900 02:25", text: "HYK-04", section_id: 164 }, { start_date: "01/01/1900 06:20", end_date: "01/01/1900 13:50", text: "HYK-01", section_id: 166 }, { start_date: "01/01/1900 10:45", end_date: "01/01/1900 18:15", text: "HYK-03", section_id: 168 }, { start_date: "01/01/1900 21:50", end_date: "01/02/1900 05:20", text: "HYK-05", section_id: 170 }, { start_date: "01/01/1900 05:40", end_date: "01/01/1900 15:25", text: "SYIE-01", section_id: 172 }, { start_date: "01/01/1900 07:05", end_date: "01/01/1900 16:45", text: "SYIE-02", section_id: 174 }, { start_date: "01/01/1900 09:30", end_date: "01/01/1900 17:20", text: "SYTC-01", section_id: 176 }, { start_date: "01/01/1900 06:15", end_date: "01/01/1900 14:25", text: "SYOC-01", section_id: 178 }, { start_date: "01/01/1900 03:20", end_date: "01/01/1900 11:50", text: "SYIC-01", section_id: 180 }, { start_date: "01/01/1900 08:55", end_date: "01/01/1900 17:10", text: "SYIC-02", section_id: 182 }, { start_date: "12/31/1899 20:00", end_date: "01/01/1900 02:45", text: "SYII-05", section_id: 184 }, { start_date: "01/01/1900 20:00", end_date: "01/02/1900 01:45", text: "HYD-04", section_id: 186 }, { start_date: "01/01/1900 07:15", end_date: "01/01/1900 14:45", text: "SYKQ-01", section_id: 188 }, { start_date: "01/01/1900 11:05", end_date: "01/01/1900 18:35", text: "SYKQ-02", section_id: 190 }, { start_date: "01/01/1900 09:30", end_date: "01/01/1900 14:35", text: "SYID-02", section_id: 192}];
                    scheduler.parse(events, "json");
                    /*scheduler.parse(eval(data.d.Events), "json");*/

                    var route_ranges = [{ key: 2, zone: "[-420, 205, 1670, 2100]" }, { key: 3, zone: "[-420, 30, 1075, 2100]" }, { key: 5, zone: "[-420, 285, 1035, 2100]" }, { key: 6, zone: "[-420, 190, 1580, 2100]" }, { key: 7, zone: "[-420, 395, 1315, 2100]" }, { key: 9, zone: "[-420, 300, 2010, 2100]" }, { key: 10, zone: "[-420, 240, 1560, 2100]" }, { key: 12, zone: "[-420, 240, 1560, 2100]" }, { key: 13, zone: "[-420, 300, 2010, 2100]" }, { key: 15, zone: "[-420, 300, 2010, 2100]" }, { key: 16, zone: "[-420, 240, 1560, 2100]" }, { key: 18, zone: "[-420, 300, 1440, 2100]" }, { key: 19, zone: "[-420, 270, 1230, 2100]" }, { key: 21, zone: "[-420, 100, 1770, 2100]" }, { key: 23, zone: "[-420, 285, 1180, 2100]" }, { key: 24, zone: "[-420, 300, 1440, 2100]" }, { key: 26, zone: "[-420, 60, 1680, 2100]" }, { key: 27, zone: "[-420, 395, 1315, 2100]" }, { key: 29, zone: "[-420, 190, 2059, 2100]" }, { key: 30, zone: "[-420, 205, 1670, 2100]" }, { key: 32, zone: "[-420, 325, 985, 2100]" }, { key: 33, zone: "[-420, 205, 1265, 2100]" }, { key: 35, zone: "[-420, 305, 1660, 2100]" }, { key: 36, zone: "[-420, 240, 2009, 2100]" }, { key: 38, zone: "[-420, 240, 2009, 2100]" }, { key: 39, zone: "[-420, 305, 1655, 2100]" }, { key: 41, zone: "[-420, 205, 1265, 2100]" }, { key: 42, zone: "[-420, 255, 1305, 2100]" }, { key: 44, zone: "[-420, 95, 1390, 2100]" }, { key: 45, zone: "[-420, 395, 985, 2100]" }, { key: 47, zone: "[-420, 255, 1635, 2100]" }, { key: 48, zone: "[-420, 255, 1635, 2100]" }, { key: 49, zone: "[-420, 255, 1635, 2100]" }, { key: 51, zone: "[-420, 345, 1070, 2100]" }, { key: 52, zone: "[-420, -115, 1165, 2100]" }, { key: 54, zone: "[-420, 150, 1275, 2100]" }, { key: 56, zone: "[-420, 255, 1635, 2100]" }, { key: 57, zone: "[-420, 285, 1180, 2100]" }, { key: 59, zone: "[-420, 300, 1495, 2100]" }, { key: 60, zone: "[-420, 240, 1560, 2100]" }, { key: 62, zone: "[-420, -240, 1559, 2100]" }, { key: 63, zone: "[-420, 325, 995, 2100]" }, { key: 65, zone: "[-420, 155, 1060, 2100]" }, { key: 66, zone: "[-420, -360, 1050, 2100]" }, { key: 68, zone: "[-420, 300, 1495, 2100]" }, { key: 69, zone: "[-420, 240, 2009, 2100]" }, { key: 71, zone: "[-420, 240, 1315, 2100]" }, { key: 72, zone: "[-420, 405, 1155, 2100]" }, { key: 74, zone: "[-420, -240, 1559, 2100]" }, { key: 75, zone: "[-420, 325, 950, 2100]" }, { key: 77, zone: "[-420, 240, 1560, 2100]" }, { key: 78, zone: "[-420, 305, 1210, 2100]" }, { key: 80, zone: "[-420, -240, 1559, 2100]" }, { key: 81, zone: "[-420, 475, 1185, 2100]" }, { key: 83, zone: "[-420, 185, 1960, 2100]" }, { key: 84, zone: "[-420, 395, 985, 2100]" }, { key: 86, zone: "[-420, 20, 1385, 2100]" }, { key: 88, zone: "[-420, 20, 1385, 2100]" }, { key: 90, zone: "[-420, 20, 1385, 2100]" }, { key: 92, zone: "[-420, 70, 1160, 2100]" }, { key: 94, zone: "[-420, 190, 1580, 2100]" }, { key: 95, zone: "[-420, 255, 1140, 2100]" }, { key: 97, zone: "[-420, 160, 1190, 2100]" }, { key: 99, zone: "[-420, 160, 1190, 2100]" }, { key: 101, zone: "[-420, 240, 2009, 2100]" }, { key: 102, zone: "[-420, 300, 1440, 2100]" }, { key: 104, zone: "[-420, 160, 1520, 2100]" }, { key: 106, zone: "[-420, 160, 1520, 2100]" }, { key: 108, zone: "[-420, 70, 1110, 2100]" }, { key: 110, zone: "[-420, 95, 1390, 2100]" }, { key: 112, zone: "[-420, 255, 1310, 2100]" }, { key: 113, zone: "[-420, 395, 1315, 2100]" }, { key: 115, zone: "[-420, 195, 1145, 2100]" }, { key: 117, zone: "[-420, 120, 1605, 2100]" }, { key: 118, zone: "[-420, 405, 1405, 2100]" }, { key: 120, zone: "[-420, 200, 1060, 2100]" }, { key: 122, zone: "[-420, 240, 1280, 2100]" }, { key: 124, zone: "[-420, 195, 1145, 2100]" }, { key: 126, zone: "[-420, 255, 1315, 2100]" }, { key: 127, zone: "[-420, 405, 1155, 2100]" }, { key: 129, zone: "[-420, 305, 1655, 2100]" }, { key: 130, zone: "[-420, 255, 1635, 2100]" }, { key: 132, zone: "[-420, 200, 1060, 2100]" }, { key: 134, zone: "[-420, 195, 1235, 2100]" }, { key: 136, zone: "[-420, 255, 1310, 2100]" }, { key: 138, zone: "[-420, 235, 1130, 2100]" }, { key: 139, zone: "[-420, 405, 1405, 2100]" }, { key: 141, zone: "[-420, 240, 1235, 2100]" }, { key: 143, zone: "[-420, 240, 1235, 2100]" }, { key: 145, zone: "[-420, 475, 1195, 2100]" }, { key: 147, zone: "[-420, 205, 1035, 2100]" }, { key: 149, zone: "[-420, 115, 1605, 2100]" }, { key: 151, zone: "[-420, 120, 1605, 2100]" }, { key: 153, zone: "[-420, 30, 1075, 2100]" }, { key: 155, zone: "[-420, 395, 985, 2100]" }, { key: 156, zone: "[-420, 200, 1425, 2100]" }, { key: 158, zone: "[-420, 205, 1265, 2100]" }, { key: 160, zone: "[-420, 205, 1265, 2100]" }, { key: 162, zone: "[-420, 205, 1265, 2100]" }, { key: 164, zone: "[-420, 190, 2059, 2100]" }, { key: 166, zone: "[-420, 190, 2059, 2100]" }, { key: 168, zone: "[-420, 190, 2059, 2100]" }, { key: 170, zone: "[-420, 190, 2059, 2100]" }, { key: 172, zone: "[-420, 235, 1100, 2100]" }, { key: 174, zone: "[-420, 235, 1100, 2100]" }, { key: 176, zone: "[-420, 270, 1230, 2100]" }, { key: 178, zone: "[-420, 300, 1150, 2100]" }, { key: 180, zone: "[-420, 200, 1030, 2100]" }, { key: 182, zone: "[-420, 200, 1030, 2100]" }, { key: 184, zone: "[-420, -240, 1559, 2100]" }, { key: 186, zone: "[-420, 240, 2009, 2100]" }, { key: 188, zone: "[-420, 305, 1655, 2100]" }, { key: 190, zone: "[-420, 305, 1655, 2100]" }, { key: 192, zone: "[-420, -360, 1050, 2100]"}];
                    /*var route_ranges = eval(data.d.BlockedTimes);*/
                    for (var x = 0; x < route_ranges.length; x++) {
                        scheduler.addMarkedTimespan({
                            days: 1,
                            zones: eval(route_ranges[x].zone),
                            sections: { timeline: route_ranges[x].key },
                            type: "dhx_time_block"
                        });
                    }
                    scheduler.updateView();

Situation confirmed from our side.
While it is quite fast in Chrome and FF, in IE situation is not so good.

( Is situation the same on your side, and perfomance issue is actual for IE only ? )

We will look in it, but I don’t think that we will be able to provide any quick fix, as issue related just to complexity of the HTML for this view ( many zones, many sections ). As part of scheduler 4.0 we plan to enchance timeline view, hopefully it will allow to improve performance as well.

The draggable performance is perfect in Chrome (version 25) but the droppable performance is still poor. It takes 3-5 seconds after drop to to register the new position.

The primary usage of the application here is IE8 (sad I know, but it’s a company behind the times). I can try to test the performance on IE10 when I get home tonight.

Firefox has near perfect performance with no noticable drag or drop time delay.

Is there any timeline in place for the development of 4.0?

but the droppable performance is still poor. It takes 3-5 seconds after drop to to register the new position

Locally it causes visible delay but it still less than second.
Can you try the same code but without any content on the page except of the scheduler’s container. It possible that you have some other content | scripts on the page which adds delay to after-drop rendering.

Is there any timeline in place for the development of 4.0?
We have May 2012 as target, probably will have a stable beta at end of April

It is possible that one of my jQuery Ajax calls is slower in Chrome than Firefox. I assume you mean 2013, otherwise it’s way late! Thanks

Yep, sure, it is May 2013