Originally posted by KAYAZUDA
View Post
Announcement
Collapse
No announcement yet.
Triple buffering คืออะไร เปิดดีไหม มีผลยังไง
Collapse
X
-
Comment
-
Originally posted by boyd_747 View Postป้องกันภาพสั่นไหว...
:
ดูเทคนิค Double Buffering, vsync and Triple Buffering ได้ที่นี่
http://www.anandtech.com/show/2794/2
เริ่มแรก Single Buffering คือมี Buffer 1 ตัว โดยคอมจะวาดภาพไปบน Buffer และส่งต่อไปยังจอ Monitor เพื่อแสดงผล ข้อเสียคือถ้าคอมไม่แรงพอจะเกิดอาการภาพวูบหรือ Flicker ครับ
ต่อมา Double Buffering คือมี Buffer 2 ตัว เรียกว่า Front กับ Back โดยคอมจะวาดภาพใส่ Back Buffer และ Front Buffer จะเป็นตัวส่งภาพไปยัง Monitor ซึ่งจะมีโปรแกรมนึงชื่อ Swap คอยเปลี่ยนชื่อไปมาระหว่าง Front กับ Back
Double มีข้อเสียคือ เมื่อภาพมีการเปลี่ยนแปลงแบบเร็วมากๆ หรือความแตกต่างของภาพนั้นมีมากเกิน จะเกิดอาการที่เรียกว่า Tearing (http://en.wikipedia.org/wiki/Screen_tearing) คือภาพมันเปลี่ยนตามไม่ทันทำให้เกิดภาพเหลื่อมส่วนนึง สาเหตุนั้นเกิดจากคอมนั้นต้องรอให้เกิดการ Swap ก่อน จึงจะเริ่มวาดภาพใหม่ให้กับ Back Buffer ได้ ส่วนของการ์ดจอก็ต้องมารอคอมวาดให้เสร็จจึงจะแสดงผลได้
แต่ Tearing นั้นสามารถแก้ไขได้ โดยใช้ Vsync คือการ Lock Framrate ไว้ที่ 60 ลดปัญหา Tearing ได้ แต่ Vsync นั่นกลับก่อให้เกิดปัญหาใหม่หากเครื่องไม่แรงพอ นั่นก็คือ Input Lag (http://www.youtube.com/watch?v=TjePCW02U78) หรืออาการภาพ Delay นั่นเอง คิดว่าหลายๆคนคงเคยเป็นกัน
สุดท้ายคือ Triple Buffering ที่รวมข้อดีของ Double และ Vsync โดยมี 3 Buffer แบ่งเป็น Back 2 Front 1 คอมสามารถวาดภาพลง Back Buffer ได้ทันทีโดยไม่ต้องรอการ Swap การ์ดจอก็สามารถแสดงผลได้ในทันที ดังนั้นอาการ Tearing จึงหายไปในบัดดล
Comment
Comment