添加大量事件(幾百個)時,我們在DHTMLX調度程序中發現了一個奇怪的問題。想象一下這些事件都在1月至3月的日期範圍內。如果用戶當前正在查看該日期範圍,那麼添加事件的代碼大約需要15秒才能運行。但是,如果用戶正在查看,比如說Mar-May,那麼代碼的同一部分會立即運行。不僅如此,在代碼立即運行後,您可以立即滾動到Jan-Mar範圍並查看所有200個事件;他們渲染的時間不到一秒鐘。在DHTMLX調度程序中添加大量事件時的性能
我們認爲這個問題必須是在每次添加事件後由Scheduler完成的全部重繪。目前,我們已經添加了解決方法,即將用戶視圖的日期更改爲遙遠未來的某個事件,添加所有事件,然後將其日期更改回原來的狀態。但是,這看起來像一個黑客,我們寧願有一個像「scheduler.config.suppress_repaint」這樣的選項,我們可以在添加事件時將其設置爲「true」。
這樣的事情是否存在?在調度程序文檔中,我們一直沒有找到任何這樣的事情。任何幫助非常感謝。
謝謝!我喜歡一般的方法。不過,我們使用「主幹」方法來填充我們的事件,因此只需將它們添加到指定集合即可,計劃程序會將它們自動添加到指定的集合中。 (換句話說,我們從不顯式調用「addEvent」。)有沒有辦法使解決方案適應這種情況? –
我沒有看到在骨幹的情況下做同樣的工作。在主幹收集發生變化之後,當前代碼總是重新繪製調度器。我認爲你需要在官方的dhtmlx論壇上打開這個問題。 – Aquatic
添加:http://forum.dhtmlx.com/viewtopic.php?f=6&t=36014 –