Tamamen document.createElement
ve document.appendChild
kullanarak bir uygulamanın DOM'ı üreten bir çerçevem var. Artık Uygulama büyüdükçe ve büyüdükçe, Chrome'un DOM'ı diğer Tarayıcılar olarak oluşturmak için önemli ölçüde daha uzun sürmesi gerektiğini fark ettim. Firefox 9 700 + Kromlar "appendChild" gerçekten bu kadar yavaş mı?
window.onload = function(){
var now = new Date().getTime();
for(var i = 0; i < 10000; i++){
document.body.appendChild(document.createElement("div"));
}
setTimeout(function(){
console.log(new Date().getTime() - now);
},0);
}
bu testin sonuçlarına çok ilginç:
- Krom 16
Yani, aşağıdaki performans testini yarattı IE 9: 210
- Opera 11.60: 51
Chrome, Opera'dan tamamlamak için 14 kattan fazla zaman aldı. Ve bu sadece anlamsız bir kriter değil! Uygulamamdaki bu farkı gerçekten hissedebiliyorum.
Chrome'un DOM işlemlerinde bu kadar yavaş olması normal midir? Hızlandırmak için bir yol var mı?
Teşekkürler!
'setTimeout' zamanlama atmaya muhtemel görünüyor. – Domenic
Boşlukları tek seferde tek tek ekleyebilirsiniz. –
@Domenic setTimeout bu tür bir ölçüme ihtiyacım var, böylece tarayıcı gerçekten çalışıyorsa, – Esailija