Tôi vừa viết một thanh tiến trình tùy chỉnh, nó là bộ đệm đơn và sẽ vẫn giữ nguyên. Làm thế nào nhiều khung hình mỗi giây là mong muốn cho một cái gì đó như thế này? Tôi không muốn lãng phí quá nhiều CPU khi cập nhật màn hình một cách không cần thiết.Tôi nên có bao nhiêu FPS để cập nhật thanh tiến trình tùy chỉnh?
Trả lời
Theo quy tắc chung, 10 khung hình/giây là mức tối thiểu hợp lý cho các hoạt ảnh rất nhỏ, đơn giản với chuyển động. 30 khung hình/giây là tối thiểu cho các chuyển động phức tạp hơn và/hoặc các cảnh lớn hơn.
Tuy nhiên, thanh tiến trình chung có rất ít thay đổi từ khung thành khung. Nếu bạn đang sử dụng một hình ảnh động rất đơn giản, bạn có thể thấy rằng dưới 10fps hoạt động.
Tôi khuyên bạn nên bắt đầu với tốc độ 10 khung hình/giây và kiểm tra kết quả. Điều chỉnh từ đó.
Tôi rất hài lòng với bản cập nhật mỗi giây hoặc hai cho các mục đích chức năng.
10-20 fps nếu bạn muốn nó trông đẹp.
Bạn có thể muốn đi theo cách khác và cập nhật thanh tiến trình bất cứ khi nào có một điểm ảnh của thanh để cập nhật. Nếu bạn có một thanh 200 pixel, sau đó cập nhật nó khi mỗi 0,5% xử lý được hoàn thành. Đó là mỗi 300 ms trong một quy trình 1 phút nhưng mỗi 4.5 giây trong một quy trình 15 phút. Như các ví dụ cho thấy, khung hình/giây nói chung sẽ chậm hơn bạn cần cho hoạt ảnh chuyển động lớn mượt mà; nếu không, bạn sẽ không cần thanh tiến trình. Tùy thuộc vào thiết kế của bạn, có thể dễ dàng hơn để quy trình thông báo cho thanh tiến trình mỗi lần hoàn thành x% so với thanh tiến trình tiếp tục kiểm tra mỗi n ms.
- 1. Thanh tiến trình tùy chỉnh trong Android?
- 2. Có bao nhiêu child_processes tôi nên fork() trong node.js?
- 3. Khung của tôi nên có bao nhiêu thư mục?
- 4. Thanh tiến trình không cập nhật trong khi hoạt động
- 5. Thanh tiến trình Winforms Không cập nhật (C#)
- 6. Thanh tiêu đề tùy chỉnh với tiến trình trong Android
- 7. Cách tạo thanh tiến trình tùy chỉnh trong Android?
- 8. Cách cập nhật trường tùy chỉnh TFS theo lập trình
- 9. Cập nhật Thanh tiến trình trong chế độ xem danh sách
- 10. Cập nhật tiến trình trong Parallel.For() vòng
- 11. Cập nhật tiến trình AnimateBar trong Android
- 12. thanh tiến ngang không cập nhật tình trạng của nó
- 13. WPF Điểm tốt nhất để cập nhật thanh tiến trình từ BackgroundWorker
- 14. Làm thế nào để thực hiện và cập nhật chính xác thanh tiến trình trong cocos2d?
- 15. Làm cách nào để cập nhật thanh tiến trình trong Cocoa trong vòng lặp chạy dài?
- 16. Tôi nên đặt bao nhiêu lớp vào một tệp?
- 17. Tôi nên sử dụng bao nhiêu hoạt động?
- 18. làm thế nào để mã hóa một thanh tiến trình
- 19. cập nhật thanh tiến trình JQuery được thêm vào lúc chạy
- 20. thanh tiến trình wxPython
- 21. Chỉ 1 trong 2 thanh tiến trình được cập nhật trong BackgroundWorker
- 22. Âm thanh iOS UILocalNotification tùy chỉnh không phát (có thể liên quan đến cập nhật Xcode)
- 23. Thanh tiến trình Android DialogFragment
- 24. Thanh tiến trình trong VBA Excel
- 25. Android tôi có thể đi bao nhiêu chủ đề?
- 26. Cách cập nhật thanh tiến trình trong thời gian chạy bằng cách sử dụng C#
- 27. Thanh tiến trình AJAX ASP.NET: Cập nhật từ mã đằng sau?
- 28. Thanh tiến trình cập nhật JavaFX trong chế độ xem bảng từ Task
- 29. Thanh tiến trình dọc
- 30. Tôi nên học bao nhiêu Java trước khi thử lập trình Android?
Đây là câu trả lời hay nhất, do thực tế là tôi đã bỏ qua. Tôi đã không thực sự viết một thanh tiến trình, nhiều hơn một thanh trong tiến trình. Chỉ cần đi qua lại cho đến khi tải lên http không thể giải quyết hoàn tất. –