2012-04-26 20 views
5

Có cách nào tiêu chuẩn (được chấp nhận/dễ dàng/thực hiện) để xác định tốc độ máy khách hiển thị nhanh như thế nào không?Ước tính tốc độ động cơ JS để vô hiệu hóa hoạt ảnh

Khi tôi đang chạy các ứng dụng web (video, v.v.) trên các tab khác, hoạt ảnh JS của tôi chậm thu thập thông tin.

Nếu tôi có thể phát hiện sự chậm chạp từ JS của mình, tôi sẽ sử dụng hoạt ảnh đơn giản hơn để mang lại trải nghiệm người dùng tốt hơn.

Cập nhật:

Loại bỏ hình ảnh động cho tất cả mọi người không phải là câu trả lời. Tôi đang nói về những hình ảnh động đơn giản nhất mà sẽ nói lắp tùy thuộc vào trình duyệt/máy tính. Nếu tôi có thể phát hiện mức độ chậm chạp, tôi sẽ vô hiệu hóa chúng.

Điều này giống như trò chơi điện tử với chất lượng đồ họa động: bạn muốn làm hài lòng những người có máy tính cũ mà không phạt những người có sức mạnh xử lý bổ sung.

Trả lời

0

Một mẹo là tắt các hoạt ảnh ẩn đó. nếu họ đang ở trên một tab khác không được tập trung, việc sử dụng chúng là gì?

Cách khác là giữ hoạt ảnh ở mức tối thiểu. Tôi cho rằng bạn đang ở trên DOM và các hoạt động DOM rất tốn kém. giữ chúng ở mức tối thiểu.

Một mẹo tôi nhận được ở đâu đó là nếu bạn đang sử dụng thao tác hình ảnh động, hãy xem xét sử dụng canvas thay thế để bạn không hoạt động trên DOM.

Ngoài ra, hãy cân nhắc tăng cường tiến bộ. Giữ cho các tính năng của bạn đơn giản và hoạt động theo cách của bạn đến những thứ phức tạp. Sử dụng các tính năng đơn giản làm đường cơ sở mỗi lần bạn thêm nội dung mới. Bằng cách đó, bạn có thể dễ dàng xác định nguyên nhân gây ra sự cố và khắc phục sự cố cho phù hợp.


Vấn đề chính bạn nên địa chỉ đầu tiên là tại sao nó là chậm, không phải khi nó là chậm.

+1

Tôi không nói rằng hoạt ảnh đặc biệt tích cực hoặc xảy ra trong khi trên tab khác. Ngay cả một hình ảnh đơn giản mờ dần đến 0 opacity sẽ nói lắp Nếu máy tính của bạn đủ chậm. Có rất nhiều máy tính chậm ra khỏi đó, các tình huống nổi bật (có lẽ bạn đang sao chép tệp, xem phim, v.v.), trong đó trải nghiệm người dùng sẽ được tăng cường bằng cách xóa dần các hoạt ảnh. Nếu tôi có thể phát hiện điều này, tôi sẽ thiết lập một thang trượt của mức độ hoạt hình. Không, nhỏ, và tất cả. –

+0

@YujiTomita thì đó là một trong những điều bạn không thể kiểm soát được (http://stackoverflow.com/questions/10220530/what-are-the-limits-to-pushing-javascript-performance/10220623#comment13129588_10220623) . Bạn có thể muốn hỏi các chàng trai từ [UX.stackexchange] (http://ux.stackexchange.com/) những gì họ có thể đề xuất cho tình huống của bạn từ quan điểm của UX. – Joseph

+2

Tôi không đồng ý. Bạn liên kết đến một bài đăng về "đẩy hiệu suất javascript" mà tôi không cố gắng làm. Điều này giống như đối lập: hỗ trợ các máy tính cũ hơn bằng cách vô hiệu hóa ngay cả một hình ảnh mờ dần. Hạ thanh cho mọi người không phải là giải pháp. Bên cạnh đó, bất kể chúng tôi có đồng ý hay không, câu hỏi của tôi là có hay không/cách đo lường hiệu suất JS của khách hàng. Điều gì làm với chương trình này là tùy thuộc vào họ. –

0

Tôi biết câu hỏi này cũ, nhưng tôi đã tình cờ gặp nó. Cách đơn giản nhất là thực hiện một vòng lặp dài và đo thời gian bắt đầu và kết thúc. Điều này sẽ cung cấp cho bạn một số ý tưởng về hiệu suất Javascript của máy.

Xin lưu ý, điều này có thể trì hoãn việc tải trang, vì vậy bạn có thể muốn lưu trữ kết quả trong cookie, do đó, nó không được đo lường trên mỗi lượt truy cập vào trang.

Cái gì như:

var starttime = new Date(); 
for(var i=0; i<1000000; i++) ; 
var dt = new Date() - starttime; 

Hope this helps.

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