2014-10-22 34 views
0

這是一個非常奇怪的任何非常令人沮喪的問題,所以請耐心等待我的完整解釋。窗口7上的IE9慢(過度渲染)

PREEMPTIVE NOTE:這不是如何提高DOM/CSS性能的問題。當你讀到挫折時你會看到。

我們最近重新制定了網站是跨瀏覽器(例如<!DOCTYPE HTML>)

所有的痛苦HTML和CSS重新分解後,我們以爲事情都很好。然而,我們的網站有一個非常沉重的DOM,令人難以置信的緩慢到無法使用的地步。例如:單擊以選擇一行需要10秒鐘,直到突出顯示並選中其複選框。

挫折:

1)本呆滯並不普遍。只有IE9受此影響。 IE8,IE10,FireFox,Chrome都很快!

2)IE9本身如果在調試器中更改爲IE8文檔模式變得快速!但不是在它自己的IE9模式下。 3)雖然我們注意到一些緩慢,但超低速(無法使用)只在特定的機器上。

4)當然,其中一臺機器是客戶端。

問題:

怎麼可能唯一有關的特定機器造成超級低迷?什麼會導致這些機器比其他機器受到更多的損失?

的事情,我們已經檢查:

1)Windows 7的全面更新。

2)我們沒有KB2976627安裝

3的Windows更新)我們沒有KB2670838安裝

4)禁用所有加載項

5)壓力的Windows更新一次,我們禁用Shockwave Flash對象。

6)嘗試禁用Internet選項中的「軟件渲染」,以便使用GPU。

7)減少Windows顯示質量設置以實現最佳性能。

附加Edvidence:

當顯示區域變得更小,響應性提高。當瀏覽器窗口本身變小或部分拖動到屏幕邊界外時會發生這種情況。此外,當DOM元素被移除/隱藏時,性能也會提高。

DynaTrace顯示了大量的渲染時間。

網頁內容:

只存在:HTML,CSS2,JavaScript的,JQuery的,簡單的圖像。

  • 的jqGrid 4.5.2

  • 的JQuery 1.4.2

  • jQuery的UI 1.8.2

有以下NONE:Flash,視頻,CSS3 ,加載第三方網頁內容。

機嘗試:

OS:Windows 7企業Ñ64位 RAM:2 GB CPU:2.53千兆赫(2個處理器)

OS:Windows 7企業64 RAM:8 GB CPU:2.67千兆赫(2個處理器)

IE9版本:

9.0.8112.16421 64位 IE9更新版本:9.0.31(KB2977629)

我們嘗試卸載更新KB2977629,但沒有任何改進。

重複的問題:

怎麼可能對特定機器獨有造成超級低迷?什麼會導致這些機器比其他機器受到更多的損失?

+0

對不起,但這個問題對其他人沒有價值,如果你不包括**你的解決方案的真正重要部分**。在開始時**您使用哪個版本的jqGrid,jQuery UI和jQuery?**下一個**如何使用jqGrid?**您不包含任何**使用jqGrid選項和回調的示例**。至少可以用一個演示重現問題的演示的URL來附加您的問題。 – Oleg 2014-10-22 11:21:23

+0

一個真正的示例鏈接是不可能的。我正在使用JqGrid 4.5.2 - 但是,雖然它惡化了性能 - 但我不確定它是特定於JqGrid還是隻是它是DOM的一個相當大的部分。我已經說DOM和CSS很重。我們有大約800個DOM元素(其中JqGrid約爲300)和3000多個CSS規則(包括jquery-ui和jqgrid)。是的,我知道,我知道不好。我們正在努力。但是你沒有看到我說過兩次的問題。爲什麼特定的看似隨機的Win7和IE9的機器,而大多數其他人都可以(ish)? – amirsk 2014-10-22 12:03:16

+0

我在我的問題中明確指出,提高DOM/CSS效率不是目標。首先了解Win7 IE9的功能。你認爲JqGrid的配置足以使這個問題變得無關緊要嗎? – amirsk 2014-10-22 12:11:52

回答

0

我發現瞭解釋。正如我在說出原始問題時所擔心的,JQGrid是一種分心(紅鯡魚)。真正的原因在另一個stack overflow article中得到解答。

總之,我們的頁面包含很多圓角(即邊框半徑)樣式。而且IE9中存在一個導致渲染引擎窒息的bug。一旦這種造型被刪除,一切都再次迅速!

這也解釋了爲什麼IE8瀏覽器甚至使用IE9與IE8文檔模式都很快。 IE8不支持border-radius,因此它不屬於這個問題。