2016-11-15 58 views
5

簡而言之:我有一個KO代碼的頁面,它在Google Chrome,Firefox,Safari等中運行非常酷。但是,性能在Internet Explorer中消失了。我試過IE10,IE11。需要10到25秒才能渲染大約150行。 enter image description hereKnockoutjs在Internet Explorer中的操作速度非常慢

詳細信息:此頁面表示用戶的工作隊列,其中顯示了他們的任務。要求不是在該頁面上使用任何分頁。表格的每一行至少有十幾種變體可供顯示(鏈接,按鈕,輸入,CSS樣式,處理用戶事件,自定義js插件等)。產品上的平均行數是100-200 +。用戶可以應用不同的過濾器和分類。

事情我已經嘗試過

代碼

上述方法調整了代碼(根據ko.bindingReport.js)在Chrome中幾乎快了兩倍。但IE仍然太慢 - 約10秒的渲染。

Chrome status

Internet Explorer中:

IE status

夥計們,什麼想法?

+0

您正在使用哪個版本的KO? –

+0

@f_martinez ko-3.4.0 – godspeed

+0

你的文章寫得很好,很容易理解。但是如果你想最大限度地提高我們能夠幫助我們的機會,恐怕我們需要一個repro。嘗試使用一些分歧,直到找到根本原因,然後用測試數據發佈一些示例代碼。 – Jeroen

回答

0

您減少了計算的可觀察量,但是您是否也減少了可觀察量?我沒有看到很多可編輯字段。沒有在頁面上編輯的那些可能不需要是可觀察的?這已經提升了我很多次的表現。

1

「表綁定提供了一種使用Knockout顯示數據表的快速方法,表格比嵌套的foreach綁定快大約10倍。」

這聲稱要快10倍。 https://github.com/mbest/knockout-table

+0

非常感謝@ idlehands23!目前的問題實際上是我們決定在用戶​​滾動頁面時動態渲染部分行。它解決了這個問題。下次我會去淘汰賽! – godspeed