[英]Ember.js rendering slow in IE 7
我們使用EmberJS(版本1.0.0-rc5)創建了一個Web應用程序。 我們注意到Chrome具有出色的性能,很遺憾,我們必須支持Internet Explorer 7作為我們的主要平台。
我們注意到IE7的性能非常糟糕。 在研究了問題之后,歸結為模板的呈現(盡管路由也非常慢)。 我們不知道這是由於構建應用程序的方式錯誤還是Ember存在問題。
我創建了一個小樣本應用程序來重現該問題。 您可以在http://manoswerts.be/playground/ember-performance上找到它。 它渲染的樹類似於我們在應用程序中所做的。 在Chrome中運行時,結果會立即顯示。 在IE7中,渲染大約需要30秒到一分鍾。 在IE8中,“僅”需要7秒鍾。
有人熟悉嗎? 有解決這個問題的方法嗎?
任何幫助是極大的贊賞。
嘗試添加以下內容以獲取有關花費了這么長時間的更多信息:
Ember.subscribe('render', {
before: function(name, start, payload){
return start;
},
after: function(name, end, payload, start){
var duration = Math.round(end - start);
var template = payload.template || '';
//console.log(Ember.inspect(payload));
//var title;
var view = payload.object.toString();
console.log('rendered', template, view, 'took', duration, 'ms');
}
});
這將為您提供渲染每個視圖的時間。 當我在Chrome中運行您的示例時,每個人模板大約需要2毫秒的渲染時間。 嵌套{{each}}
助手和在這些{{each}}
塊中渲染“虛擬”視圖也有一些開銷。 列表渲染時間總計為104毫秒。 總時間將是單擊“ Show results
按鈕后最后寫入的console.log行。
因此,基於您的發言,我希望ie7和ie8的總時間要慢一個數量級。 如果是這樣,想知道它是均勻分布的還是存在一個渲染得慢得多的特定視圖。
對於IE7和IE8,這對我來說都是相同的時間,大約4-5秒。
其他ember js示例應用程序
https://github.com/dgeb/ember_data_example
與IE7完全不兼容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.