2016-04-06 21 views
11

Tôi có ứng dụng AngularJS sử dụng Vật liệu góc và dữ liệu được tải từ API bên ngoài.Hiệu suất "Tính toán kiểu" của IE cực kỳ chậm trong ứng dụng AngularJS

Không có gì đặc biệt đột phá với ứng dụng này và tất cả các thử nghiệm của tôi chạy hoàn toàn tốt trong Chrome, Firefox và Safari.

Tuy nhiên, khi tôi sử dụng Internet Explorer, tất cả các địa ngục đều bị mất. Các ứng dụng là cực kỳ chậm, hình ảnh động CSS là đau đớn laggy, ứng dụng là hoàn toàn không sử dụng được.

Tôi đã dành cả ngày để thử một số sửa lỗi tiềm năng và gỡ lỗi, nhưng tôi sắp sửa lên tiếng át chủ bài.

Những điều mà tôi có thể thấy:

  • Khi tôi sử dụng Công cụ nhà phát triển IE11 và chạy một bản ghi hiệu suất, "Phong cách tính toán" mất, cho đến nay, số lượng phần lớn thời gian.
  • Khi tôi có bộ chọn CSS wildcard hiệu suất là chậm (như *{box-sizing: border-box})

Dưới đây là kết quả từ các thanh tra viên thực hiện, khi nghĩa đen tất cả tôi làm là di chuyển xuống một md-virtual-repeat:

IE Performance: Style Calculation

Như bạn thấy, style calculation chiếm toàn bộ thời gian ở đây.

Googling đã đưa ra những con át chủ bài với cách giải quyết cho việc này. Những gì đang xảy ra ở đây? Đây có phải là cá trích đỏ hay không và vấn đề ở đâu đó trong ứng dụng của tôi (JS của tôi hiệu quả như tôi có thể nghĩ đến việc tạo ra nó, và tôi cũng đã thử tải không có dữ liệu thực, chỉ 30 đối tượng tĩnh vào bộ lặp ảo - và kết quả đều giống nhau).

+0

Tôi nghe nói rằng các css thiết kế material design đó và bộ chọn của nó chậm trên IE. – YOU

+1

Tôi có một vấn đề tương tự với ngMaterial 1.0.7 trong IE11. Khi intl-tel-input và angular-material kết hợp, mỗi lần tôi cuộn danh sách quốc gia bằng mã quốc gia của số điện thoại, phải mất 750ms để hiển thị từng cuộn. Nó vượt quá vô lý, và mọi trình duyệt khác đều hoạt động tốt. Nếu bạn tìm thấy giải pháp, xin vui lòng ping tôi. Ngay bây giờ tôi đang xem xét CSS, bình luận ra một số CSS và nhận thấy những cải thiện tốc độ nhỏ, nhưng tổng thể vẫn còn thực sự chậm và tụt hậu. – ngDeveloper

+2

@ngDeveloper Giải pháp là (a) nâng cấp lên tài liệu mới nhất, tôi nghĩ đó là RC2, và (b) IE đã bị quá tải bởi số lượng CSS mà tôi có. Việc xóa một số thư viện CSS đã được sử dụng có tác động khá lớn đến tốc độ trang web. – Jascination

Trả lời

0

Giải pháp, như @ngDeveloper chỉ ra trong nhận xét là nâng cấp tài liệu ngMaterial. Tôi đã có vấn đề này, và nó đã được positionElements đó đã gây ra vấn đề cho tôi.

1

Tôi đã có cùng một vấn đề với một "tính toán Style" lấy khoảng 700 mili giây trong khi di chuyển và tải CPU lên 100% (IE11, Win10)

Trong trường hợp đặc biệt của tôi nó được gây ra bởi các quy tắc CSS có chứa bộ chọn "+", vd

.menu li + li a {border: 0} 

Sau khi xóa - hoạt động tốt.

Hy vọng nó sẽ tiết kiệm được một vài giờ.

Các vấn đề liên quan