我有一個AngularJS應用程序使用Angular Material和從外部API加載的數據。在AngularJS應用程序中,IE「風格計算」性能極其緩慢
這個應用程序沒有什麼特別突破性的東西,我的所有測試在Chrome,Firefox和Safari上都運行得非常好。
但是,當我使用Internet Explorer時,所有地獄都會崩潰。該應用程序非常慢,CSS動畫很痛苦,應用程序完全無法使用。
我已經花了一整天的時間嘗試一些潛在的錯誤修正和調試,但我會成爲王牌。
的事情,我可以看到:
- 當我使用IE11的開發工具和運行性能日誌,「樣式計算」佔用,到目前爲止,時間最大量。
- 當我有通配符CSS選擇器性能會降低(如
*{box-sizing: border-box}
)
下面是從性能檢查器的輸出,當從字面上我要做的就是向下滾動的md-virtual-repeat
:
正如你所看到的,style calculation
在這裏佔用了很多時間。
谷歌搜索已經拿出了這個變通辦法的王牌。這裏發生了什麼?這是一個紅色的鯡魚,問題在我的應用程序中的其他地方(我的JS和我想象的一樣高效,我也測試了沒有真實數據的加載,只有30個靜態對象進入虛擬中繼器 - 結果是一樣的)。
我聽說那些材質設計的css和它的選擇器在IE上很慢。 – YOU
我在IE11中也遇到了類似ngMaterial 1.0.7的問題。當intl-tel-input和angular-material合併時,每次使用電話號碼國家/地區代碼滾動國家/地區列表時,渲染每個滾動需要750毫秒。這是非常荒謬的,並且其他所有瀏覽器都可以正常工作。如果你找到解決方案,請ping我。現在我正在評論CSS,評論一些CSS並注意到速度略有提高,但總體上仍然非常緩慢和滯後。 – ngDeveloper
@ngDeveloper解決方案是(a)升級到最新的ngMaterial,我認爲它是RC2,並且(b)IE被我的CSS數量超載。刪除一些正在使用的CSS庫對網站速度有相當大的影響。 – Jascination