2010-06-21 2 views
8

Vì vậy, tôi đã đọc rất nhiều về OpenGL và gpus và đồ họa nói chung, và bộ đệm ba là bán thường xuyên được đề cập như là cho một tăng hiệu suất miễn phí. Tôi biết tại sao nó giúp; có hiệu lực, bạn có thể thực hiện v-sync mà không bị giới hạn ở mức độ lựa chọn khung hình 60 hoặc 30 hoặc 20 hoặc 15 hoặc v.v., vì vậy bạn có thể đạt được 55fps. Nhưng có thực sự là một chi phí cho điều này? Trực giác, tôi mong đợi ba bộ đệm để trì hoãn đầu ra bởi một khung, thêm một sự chậm trễ rất nhỏ cho tất cả mọi thứ.Bộ đệm ba lần có thực sự tăng hiệu suất miễn phí không?

Trả lời

6

Tại 55 FPS, một khung hình nhỏ hơn 20 mili giây. Vì vậy, nó không hoàn toàn miễn phí, nhưng nó gần như luôn luôn đáng giá.

Tại 15 FPS, mặc dù, nó có thể được khá đáng chú ý. (BTW, đây là máy tính xách tay POS. Hầu hết các trò chơi 3D chạy nhanh đến mức đó. Một số thậm chí còn chậm hơn.)

Một số người nhận thấy độ trễ, đặc biệt là ở tốc độ khung hình thấp hơn và đôi khi bộ đệm ba lần không hoạt động như kỳ vọng. (Trong OpenGL, đặc biệt, một cái gì đó không được hỗ trợ tốt bởi phần cứng có thể rơi trở lại (có khả năng rất chậm) phần mềm thi đua. Không nên là một vấn đề những ngày này, nhưng eh.) Vì vậy, hầu hết các chương trình sử dụng bộ đệm ba cũng bao gồm một tùy chọn để vô hiệu hóa nó. Bạn có thể muốn xem xét làm như vậy.

5

Trích dẫn từ sách "Hiển thị thời gian thực" tuyệt vời (http://www.realtimerendering.com/) của Akenine-Möller và các trang khác, trang 835, tổng hợp khá nhiều những gì bạn đã đề xuất trong câu trả lời cho câu hỏi của riêng bạn, xem xét độ trễ:

"Bộ đệm ba có một lợi thế lớn so với bộ đệm kép. Sử dụng , hệ thống có thể truy cập bộ đệm đang chờ xử lý trong khi chờ đợi cho phép lặp lại theo chiều dọc. Với đệm đôi, hoán đổi có thể ngăn chặn đường ống đồ họa. [... ] Hạn chế của bộ đệm ba lần là độ trễ tăng lên đến toàn bộ khung hình . Sự gia tăng này làm chậm phản ứng đối với đầu vào của người dùng, chẳng hạn như tổ hợp phím và di chuyển chuột hoặc cần điều khiển. "