我的機構是處理幾個相當大的網絡:如何使一個網頁,一個大cytoscape.js網絡響應速度更快
- 各地1000個節點和2000條邊(所以小於this one)
- 固定節點位置,
- 每個元素可能有幾十個屬性,
- 和一個1MB及以上的縮小的網絡文件大小。
我們用cytoscape.js可視化定製的HTML頁面(每頁一個網絡)中的網絡。界面允許用戶爲節點選擇不同的預定義着色選項(主要功能) - 顏色是從一組數值節點屬性中的一箇中計算出來的。輔助功能包括節點qtips,查找節點並以此爲中心(通過select2下拉菜單),並根據節點分配給預定義組(通過另一個select2下拉菜單)突出顯示節點。
我們面臨的問題是,當啓動顏色變化時,頁面(以及必然整個瀏覽器)至少5秒鐘無響應,我們正在尋找解決方法。下面是一些我們已經嘗試過或正在考慮的事情:
- 移植節點屬性分開是經由XHR時需求獲取的文件(已完成,但性能影響不清楚)。
- 將cytoscape.js卸載到Web工作人員(產生錯誤 - 可能是由於工作人員的DOM限制 - 或沒有提高性能)。
- 高速緩存顏色色調計算結果爲lodash's memoize()或類似(未決)。
- 將每個着色網絡導出爲圖像,並將一些固定位置的HTML元素(或畫布?)放置在圖像堆棧頂部以便節點qtips等。所以我們會用靜態圖像和自定義JavaScript bascially取代cytoscape.js。
我很欣賞任何有關提高性能的替代或補充策略的建議,以及迄今爲止對我們嘗試的評論。謝謝!
感謝您的答覆!我們現在正在試驗所示的方法,一旦我們清楚地瞭解問題所在,我會發布我們的調查結果。 –