2014-09-03 30 views
9

Şimdiye kadar iyi performans gösteren büyük bir AngularJS uygulama geliştirdim.
Bazı kullanıcılar (çok eski bilgisayarlarda bir CPU'ya sahip), uygulamanın son derece yavaş olduğundan şikayet ettiğinde sorunum başladı.AngularJS + Tek Çekirdekli CPU = Neredeyse% 100 CPU

Görev yöneticisini açtım ve sekmenin her zaman% 70 -% 100 CPU'da olduğunu görebiliyorum (Tek çekirdekli bir CPU kullanırken).

Bu, daha güçlü bilgisayarlarda mükemmel çalıştığından, bir performans sorunum olduğundan emin değilim ve eğer bunu yaparsam, bunu nasıl kontrol edeceğimi gerçekten bilmiyorum (krom üzerinde performans araçlarıyla bunu kontrol edemiyorum)).

Bunu halletmenin bir yolu var mı? Angular'un daha az kez sindirme döngüsünü yapmak için söylemesi?
Benzer bir sorunla karşılaştı mı? Benim için ipucu benim için harika olacak.

+0

(Bir kısmı Fransızca olan)? https://github.com/angular/angular.js/issues/1534 – c97

+0

Cevabınız için teşekkür ederiz. Sorun, IE8 yerine tek CPU'dur. Sorumu daha açık olması için düzenleyeceğim. –

cevap

5

Döngülerin çağrılma sayısını azaltmanın yollarını hiç görmedim. Ancak, uygulamanızın performansını iyileştirmenin birkaç yolu vardır. İlk olarak, bilgisayarınızdan performans hakkında fikir sahibi olmak için performans analizi için bir sekme sağlayan Batarang yükleyebilirsiniz.

Eğer odaklanabilir bu edindikten sonra aşağıdaki:

  1. bindonce direktifini mümkünse artık
  2. kaçının ng tekrarı kullanmak ve/veya kullanım olmayacak gözlemcileri devre dışı bırakın
  3. 0: Veri aşağıdaki makalelere anlamlara gelebilir daha fazla ayrıntı için

küçük kümelerine sahip sayfalama kullanın

+0

+1 - Cevabınız için teşekkür ederiz. Standart CPU'lu bilgisayarlarda sorun yaşamadığım için performans sorunlarımda zamanımı bel bağlamak istemiyorum. Uygulamam zaten önerdiğiniz şeyleri yapıyor ama açısal sindirimlerin CPU üzerinde çok fazla kullanılmasına benziyor (örneğin, fare imlecini çok kolay görebildiğim çok kolay). –

+1

Bu tek çekirdekli bilgisayarla ilgili sorunlarınız var mı? Farenizi hareket ettirme sorunu gibi mi? –