Tôi đang vẽ một số hình dạng (cung, đường thẳng, v.v.) để sử dụng requestAnimationFrame
. Không có gì quá ưa thích, nhưng tôi nhận thấy một số hình ảnh động giật thường xuyên. Tôi đã lược tả bằng cách sử dụng thanh tra Timeline trong các công cụ dành cho Chrome và thấy một số lượng lớn thời gian không hoạt động trên mỗi khung hình, một số trong đó giảm FPS xuống dưới 60 (xem ảnh chụp màn hình). Có nguyên nhân hoặc độ phân giải đã biết cho điều này không?Thanh "nhàn rỗi" lớn trong công cụ Chrome dev Khung thời gian
12
A
Trả lời
4
Vẽ hình dạng cho canvas rõ ràng là tốn kém tính toán và phải nằm trong "hoạt động không được DevTools thiết kế". Tôi đã giải quyết vấn đề hiệu suất của mình trước tiên bằng cách vẽ hình dạng vào bộ nhớ cache trên màn hình, sau đó sử dụng drawImage
để sao chép trở lại canvas chính.
1
So sánh các đỉnh đó với biểu đồ bộ nhớ. Theo kinh nghiệm của tôi, gai lớn nhàn rỗi dường như trùng với thu gom rác thải.
Các vấn đề liên quan
- 1. Thời gian chờ IMAP nhàn rỗi
- 2. WPF: ứng dụng Thời gian nhàn rỗi
- 3. IIS Auto-Start không tắt Thời gian chờ nhàn rỗi
- 4. Ẩn con trỏ chuột sau một thời gian nhàn rỗi
- 5. Công cụ Chrome Dev rất chậm để phản hồi trong ứng dụng web lớn
- 6. Karma: trình duyệt nhàn rỗi
- 7. Nhàn rỗi của Python và Bàn phímInterrupts
- 8. Phát hiện nhàn rỗi hệ thống
- 9. Làm thế nào để phân biệt giữa thời gian để sống và thời gian nhàn rỗi trong ehcache
- 10. Tái khởi tạo Vải Twitter sau khi ứng dụng android thời gian nhàn rỗi
- 11. Hình ảnh Thời gian giải mã từ công cụ tạo thời gian của Chrome
- 12. Khóa ứng dụng android sau một khoảng thời gian nhàn rỗi nhất định
- 13. Ứng dụng Rails có giữ được nhiều kết nối nhàn rỗi và Puma nhàn rỗi không?
- 14. Cách ẩn nhận xét html trong công cụ chrome dev?
- 15. Chrome Dev Công cụ không thể mở rộng nội dung khung nội tuyến
- 16. Năm trong Thời gian rảnh rỗi
- 17. Chrome DevTools khung thời gian sự kiện
- 18. nhập mô-đun vào ô nhàn rỗi
- 19. Công cụ Chrome Dev: Xem CSS chưa được biên tập
- 20. Ứng dụng WPF chậm khi trở về từ nhàn rỗi
- 21. Gỡ lỗi JSON bằng Công cụ Dev của Chrome
- 22. iOS tùy chỉnh thời gian rảnh rỗi
- 23. Sử dụng CPU cao trong Eclipse khi nhàn rỗi
- 24. rasterization chậm trong Dev Công cụ
- 25. Có cách nào để cấu hình "Thời gian chờ nhàn rỗi" của Ứng dụng trong web.config không?
- 26. Mục nhập dòng thời gian "Lần thử nghiệm" của Công cụ tìm kiếm Chrome là gì?
- 27. bỏ qua các tệp js cụ thể trong các công cụ chrome dev khi gỡ lỗi
- 28. VimScript: có một autocmd cho một hành động được thực hiện sau thời gian nhàn rỗi không?
- 29. Quá trình postgres nhàn rỗi chiếm rất nhiều bộ nhớ
- 30. Phát hành công cụ Chrome Dev với các chuỗi ký tự ES6/Số kiểu
Các câu hỏi tương tự: [một] (http://stackoverflow.com/questions/12302286/what-causes-chrome-timeline-frame-to-have-so-much-empty-white-space?rq=1) , [hai] (http://stackoverflow.com/questions/11423330/web-inspector-profiling-with-frames-finding-the-cause-of-performance-problems), [ba] (http: // stackoverflow.com/questions/18257206/extra-render-time-in-chrome-dev-tools-timeline-frames). Không có thông tin hữu ích. Một vài tài liệu tham khảo cho [bài đăng G + này của Nat Duca] (https://plus.google.com/+NatDuca/posts/BvMgvdnBvaQ?e=-RedirectToSandbox), nhưng tôi không làm gì với các biến đổi 3D, vì vậy tôi không không nghĩ rằng nó có thể áp dụng được. – endemic
Từ [tài liệu DevTools] (https://developers.google.com/chrome-developer-tools/docs/timeline#frames_mode): "Bạn có thể nhận thấy các vùng của khung có màu xám nhạt hoặc trong suốt (trống). 1. Các hoạt động không được thiết kế bởi DevTools 2.) Thời gian không hoạt động giữa các chu kỳ làm mới màn hình. Các khung trong bản ghi bên dưới hiển thị cả hoạt động không được định trước và thời gian không hoạt động. " Tuy nhiên, điều đó không thực sự giải thích cách khắc phục sự cố. Nếu phần rõ ràng của khung là thời gian rảnh, tại sao nó gây ra khung để bỏ qua? – endemic
Tôi có cùng một vấn đề; khung hoàn thiện như 3ms nhưng với thời gian nhàn rỗi điên, đôi khi 200ms; đưa cái gì? công cụ dev bị hỏng? – AlexG