簡而言之:我有一個KO代碼的頁面,它在Google Chrome,Firefox,Safari等中運行非常酷。但是,性能在Internet Explorer中消失了。我試過IE10,IE11。需要10到25秒才能渲染大約150行。 Knockoutjs在Internet Explorer中的操作速度非常慢
詳細信息:此頁面表示用戶的工作隊列,其中顯示了他們的任務。要求不是在該頁面上使用任何分頁。表格的每一行至少有十幾種變體可供顯示(鏈接,按鈕,輸入,CSS樣式,處理用戶事件,自定義js插件等)。產品上的平均行數是100-200 +。用戶可以應用不同的過濾器和分類。
事情我已經嘗試過:
減少計算性能的數量(改爲pureComputed,如果可能的話)
減少使用模板的數量,如果和ifhot綁定(根據profiler他們是最耗時的任務) - 我使用可見,在可能的情況
試圖使用敲除快速的foreach定製綁定(https://github.com/brianmhunt/knockout-fast-foreach)
成型用IE和Chrome工具的代碼,以消除內存泄漏
異形與ko.bindingReport.js(https://gist.github.com/kamranayub/65399fa247a6c182bc65)
上述方法調整了代碼(根據ko.bindingReport.js)在Chrome中幾乎快了兩倍。但IE仍然太慢 - 約10秒的渲染。
Internet Explorer中:
夥計們,什麼想法?
您正在使用哪個版本的KO? –
@f_martinez ko-3.4.0 – godspeed
你的文章寫得很好,很容易理解。但是如果你想最大限度地提高我們能夠幫助我們的機會,恐怕我們需要一個repro。嘗試使用一些分歧,直到找到根本原因,然後用測試數據發佈一些示例代碼。 – Jeroen