2010-06-14 11 views
5

Tôi đang tính toán nặng bằng cách sử dụng GPU, bao gồm rất nhiều hoạt động kết xuất. Đó là một tính toán lặp lại, do đó, có rất nhiều kết xuất cho một kết cấu, sau đó kết xuất texture đó với một texture khác, sau đó render texture thứ hai trở lại texture đầu tiên và cứ như vậy, chuyển texture qua một shader mỗi lần.Hiệu suất glFramebufferTexture2D

Câu hỏi của tôi là: tốt hơn là nên có một FBO riêng cho mỗi kết cấu mà tôi muốn kết xuất, hay tôi nên có một FBO và ràng buộc kết cấu đích bằng cách sử dụng glFramebufferTexture2D mỗi lần tôi muốn thay đổi mục tiêu hiển thị?

Nền tảng của tôi là OpenGL ES 2.0 trên iPhone.

Trả lời

6

Khi triển khai trên iPhone, việc thay đổi tệp đính kèm không tốn kém, giả sử cấu trúc cũ và mới có cùng kích thước/định dạng/v.v. Nếu không, trình điều khiển phải làm một số công việc bổ sung để cấu hình lại bộ đệm khung.

3

AFAIK, hiệu suất tốt hơn đạt được bằng cách chỉ sử dụng một FBO và thay đổi các tệp đính kèm kết cấu nếu cần.

+0

Bạn có tài nguyên nào hỗ trợ điều này không? – nornagon

+2

http://http.download.nvidia.com/developer/presentations/2005/GDC/OpenGL_Day/OpenGL_FrameBuffer_Object.pdf Trượt 28 trở đi. –

0

Cách tốt nhất là làm điểm chuẩn.