Trò chơi của tôi sử dụng quá nhiều pin. Tôi không biết chính xác nó sử dụng bao nhiêu so với các trò chơi so sánh, nhưng nó sử dụng quá nhiều. Người chơi phàn nàn rằng nó sử dụng rất nhiều, và một số người trong số họ lưu ý rằng nó làm cho thiết bị của họ "chạy nóng". Tôi chỉ mới bắt đầu điều tra điều này và muốn hỏi một số câu hỏi lý thuyết và thực tế để thu hẹp không gian tìm kiếm. Đây là chủ yếu về phiên bản iOS của trò chơi của tôi, nhưng có lẽ nhiều vấn đề tương tự ảnh hưởng đến phiên bản Android. Xin lỗi vì đã hỏi nhiều câu hỏi phụ, nhưng tất cả chúng đều có liên quan đến nhau nên tôi nghĩ tốt nhất là nên giữ chúng lại với nhau.cách đo và cải thiện việc sử dụng pin trong trò chơi iPhone/iPad (Android cũng)
Ghi chú bên: Trò chơi của tôi không thực hiện truy cập mạng (được gọi ở một số nơi dưới dạng pin lớn) và không tiêu tốn nhiều pin trong nền; đó là chạy nền trước đó là vấn đề.
(1) Tôi biết có API để đọc mức pin, vì vậy tôi có thể thực hiện một số thử nghiệm tự động. Câu hỏi của tôi ở đây là: Khoảng bao lâu (hoặc có lẽ: về lượng pin cạn kiệt) tôi có cần để điều đó chạy để có được một bài đọc đáng tin cậy không? Ví dụ, nếu nó chạy trong 10 phút là đáng tin cậy? Nếu nó tiết kiệm 10% pin, điều đó có đáng tin cậy không? Hoặc là nó tốt hơn để chạy cho nhiều hơn như một giờ (hoặc, nói, xem phải mất bao lâu để hết 50% pin)? Những gì tôi hỏi ở đây là mức độ nhạy cảm/đáng tin cậy của đồng hồ đo pin như thế nào, vì vậy tôi biết mỗi lần chạy thử nghiệm cần bao lâu.
(2) Tôi đang cố gắng hiểu nguyên nhân có thể xảy ra khi sử dụng pin cao. Dưới đây tôi liệt kê một số yếu tố có thể xảy ra. Xin hãy giúp tôi hiểu xem ai là người có nhiều khả năng nhất:
(2a) Như với nhiều trò chơi, trò chơi của tôi cần vẽ toàn màn hình trên mỗi khung hình. Nó chạy ở tốc độ khoảng 30 khung hình/giây. Tôi biết rằng Apple nói với "chỉ làm mới màn hình nhiều như bạn cần", nhưng tôi khá nhiều cần phải vẽ mỗi khung. Trên thực tế, tôi có thể đặt một số công việc vào chỉ vẽ các phần của màn hình đã thay đổi, nhưng trong trường hợp của tôi vẫn sẽ là phần lớn màn hình. Và trong mọi trường hợp, ngay cả khi tôi có thể bản địa hóa bản vẽ thành một phần của màn hình, tôi vẫn đang tạo một bộ đệm hoán đổi OpenGL gọi 30 lần mỗi giây, vì vậy tôi có làm việc chăm chỉ để vẽ ít hơn một chút ?
(2b) Khi tôi vẽ các phần tử màn hình, có một số điểm toán học trôi nổi nhất định (ví dụ: trong tính toán tọa độ UV kết cấu) và một số phép toán chính xác đôi (ít hơn) tiếp tục. Tôi không biết đắt tiền như thế nào, pin-khôn ngoan, so với các hoạt động số nguyên tương tự. Tôi có lẽ có thể cache rất nhiều các giá trị này để không phải tính toán nhiều lần, nếu đó là khả năng thắng.
(2c) Tôi thực hiện một số chuyển đổi kết cấu nhất định khi hiển thị cảnh. Trước đây tôi đã chỉ lo lắng về điều này làm cho trò chơi quá chậm (nó không), nhưng bây giờ tôi cũng tự hỏi liệu việc giảm chuyển đổi kết cấu sẽ giảm sử dụng pin hay không.
(2d) Tôi không chắc liệu điều này có thực tế với tôi hay không: nhưng tôi đã đọc về shaders và OpenCL, và tôi muốn hiểu liệu tôi có phải dỡ bỏ một số xử lý CPU cho GPU hay không có khả năng tiết kiệm pin (ngoài việc chạy nhanh hơn cho các hoạt động kiểu vectơ). Hay nó có lẽ sẽ sử dụng nhiều pin hơn trên GPU chứ không phải trên CPU?
Tôi nhận ra rằng tôi có thể thu hẹp yếu tố nào đang phát bằng cách vô hiệu hóa một số phần nhất định của trò chơi và thực hiện kiểm tra pin lặp lại (do đó một phần (1) câu hỏi). Nó chỉ là rằng vô hiệu hóa là không tầm thường và có đủ thủ phạm tiềm năng mà tôi nghĩ rằng tôi muốn hỏi lời khuyên chung đầu tiên.
Tôi biết bạn đã nói nó chủ yếu là phiên bản ios, nhưng phiên bản Android không có quảng cáo? Ngay cả khi bạn không sử dụng mạng một cách rõ ràng, có điều gì có thể sử dụng nó trong nền không? – Michael
Ngoài ra, nếu bạn đồng ý đọc các tài liệu nghiên cứu [this] (http://research.microsoft.com/en-us/people/mzh/eurosys-2012.pdf) vừa xuất hiện từ một hội nghị gần đây. Đó là tất cả Android, nhưng có lẽ điều này sẽ cung cấp cho bạn một số ý tưởng làm thế nào những người khác đã thực hiện các phép đo điện. – Michael
Michael, cảm ơn bạn đã tham khảo. Tôi đã đọc qua bài báo và tôi sẽ xem xét kỹ hơn. Nó không xuất hiện rằng công cụ eprof có sẵn để tải về tại thời điểm này. (?) Nhưng có lẽ tôi có thể thu thập đủ thông tin chi tiết từ bài báo để chỉ cho tôi đúng hướng. Để trả lời cho câu hỏi khác của bạn, không, tôi không hiển thị quảng cáo. –