Tôi có nên tính toán ma trận trên CPU hoặc GPU không? Giả sử tôi có các ma trận sau P * V * M
, tôi có nên tính toán chúng trên CPU để tôi có thể gửi ma trận cuối cùng đến GPU (GLSL) hay tôi nên gửi ba ma trận đó riêng biệt với GPU sao cho GLSL có thể tính toán ma trận cuối cùng?Tôi có nên tính toán ma trận trên GPU hoặc trên CPU không?
Tôi có nghĩa là trong trường hợp này GLSL sẽ phải tính toán ma trận MVP cho mỗi đỉnh, do đó, có lẽ nhanh hơn để tính toán trước nó trên CPU.
Nhưng giả sử GLSL chỉ tính toán ma trận MVP một lần, liệu GPU có tính toán ma trận cuối cùng nhanh hơn CPU không?
Bạn có thể cho ví dụ rằng bạn chỉ thực hiện phép tính này một lần trong GPU không? – Amadeus
1. Tối ưu hóa cuối cùng. Bạn có chắc bạn không chỉ trì hoãn? :) 2. Nếu bạn không thể đo lường hiệu suất và xác định tắc nghẽn, đừng nghĩ về tối ưu hóa. –
Chỉ cần lưu ý, nếu bạn đang nhân trực tiếp một vectơ, như trong mô hình 'chiếu * xem * * đỉnh' Sau đó, thực sự không có phép nhân' ma trận'. Chỉ các phép nhân 'matrix * vector' vì nó được đánh giá từ phải sang trái' (phép chiếu * (xem * (mô hình * đỉnh))) '. Điều này là ít nặng nề hơn về tính toán. –