Tôi không có số liệu cập nhật về mức tiêu thụ năng lượng của điện thoại thông minh, nhưng tôi nghĩ rằng CPU và GPU phải ở cùng một mức. Đúng nếu tôi đã sai lầm.
Nói chung, cố gắng tối ưu hóa các phần mã của bạn dựa vào hiệu suất luôn là một điều tốt, không chỉ vì bạn tiết kiệm pin, mà còn vì bạn có thể tiếp cận các thiết bị có phần cứng kém mạnh hơn. Tôi cũng luôn khuyến khích mọi người sử dụng OpenGL ES 2.0 / OpenGL 3.0 cho các trò chơi, bởi vì sức mạnh của các shader là, như bạn đã nói, để cắt giảm nỗ lực đến mức tối thiểu và mang lại sự linh hoạt hơn nhiều.
Nhưng, dựa trên giả định bạn đang hiển thị một số họa tiết 2D, tôi muốn nói rằng GPU chủ yếu ở trạng thái không hoạt động. Điều đó có nghĩa là CPU có thể sẽ có tác động đến thời lượng pin nhiều hơn GPU, vì vậy bạn không nên mong đợi kết quả quá tích cực ở đây. Tôi khuyên bạn nên cố gắng cải thiện thuật toán chạy trên CPU trước khi tối ưu hóa các thuật toán trên GPU, nhưng tôi cũng sử dụng các shader để đảm bảo tính linh hoạt. Ít nhất là nếu bạn có thể bỏ qua các thiết bị ngoài đó mà không cần hỗ trợ OpenGL ES 2.0 (một lần nữa, tôi không có số liệu ^^).