Skip to main content

โซ่แลกเปลี่ยนคืออะไร?

โซ่แลกเปลี่ยนเป็นชุดของ framebuffers หรือตำแหน่งในหน่วยความจำคอมพิวเตอร์ที่ใช้ในการแสดงภาพก่อนที่จะแสดงบนจอภาพจริงหรืออุปกรณ์อื่น ๆมีอย่างน้อยสองเฟรมบัฟเฟอร์ในห่วงโซ่การแลกเปลี่ยนเพราะบัฟเฟอร์แรกหรือแอคทีฟมักจะถูกระบุว่าเป็นสิ่งที่แสดงอยู่ในปัจจุบันบนจอแสดงผลในขณะที่หนึ่งเฟรมบัฟเฟอร์กำลังแสดงอยู่บัฟเฟอร์ถัดไปสามารถแสดงผลและเตรียมพร้อมสำหรับการแสดงผลจากนั้นเปลี่ยนไปใช้อุปกรณ์ตามความจำเป็นการใช้โซ่แลกเปลี่ยนสามารถกำจัดปัญหาบางอย่างที่เกิดขึ้นได้เนื่องจากความขัดแย้งระหว่างฮาร์ดแวร์และเวลาซอฟต์แวร์รวมถึงสิ่งประดิษฐ์กราฟิกที่สามารถปรากฏขึ้นได้เนื่องจากการแสดงผลโดยตรงไปยังอุปกรณ์แสดงผล

วิธีที่แสดงภาพบนจอภาพคือจริงๆแล้วเป็นเรื่องของการวางลำดับตัวเลขที่ถูกต้องลงในพื้นที่ที่ระบุของหน่วยความจำอะไรก็ตามที่อยู่ในพื้นที่ของหน่วยความจำนี้ถูกวาดบนหน้าจอหลายครั้งทุกวินาทีหน้าจอถูกวาดในเส้นแนวนอนจากมุมซ้ายบนไปยังมุมล่างขวาช่วงเวลาที่หน้าจอเริ่มเฟรมถัดไปเมื่อมันเคลื่อนที่จากมุมล่างขวาของหน้าจอไปยังมุมซ้ายบนเป็นที่รู้จักกันว่าเป็นแนวตั้ง retrace

การใช้งานของบัฟเฟอร์การแลกเปลี่ยนจะดึงไปที่หน้าจอในช่วงแนวตั้งเท่านั้นย้อนกลับหากเวลานี้ปิดอยู่หรือหากโปรแกรมพยายามที่จะวาดไปยังหน้าจอในช่วงเวลาที่เฟรมกำลังแสดงผลความผิดปกติของกราฟิกที่รู้จักกันดีว่าการฉีกขาดสามารถปรากฏขึ้นได้สิ่งนี้เกิดขึ้นเมื่อภาพในหน่วยความจำของอุปกรณ์แสดงผลเปลี่ยนไปตรงกลางของการเรนเดอร์ทำให้ด้านหนึ่งของจอแสดงผลแสดงเฟรมสุดท้ายและส่วนที่เหลือของหน้าจอเพื่อแสดงภาพใหม่

โดยการแสดงฉากข้างหน้าเวลาลงในเฟรมบัฟเฟอร์เฟรมถัดไปที่จะแสดงนั้นเตรียมไว้แล้วและสามารถผลักเข้าไปในหน่วยความจำการแสดงผลได้อย่างรวดเร็วในขณะที่มีการแสดงภาพหนึ่งภาพถัดไปจะถูกวาดใน framebuffer ที่ไม่ได้ใช้งานหรือเรียกว่าบัฟเฟอร์ด้านหลังสิ่งนี้จะสร้างภาพเคลื่อนไหวที่ราบรื่นและเอฟเฟกต์ภาพที่สามารถกำหนดเวลาได้อย่างแน่นอนเพื่อป้องกันการฉีกขาด

คำว่าโซ่การแลกเปลี่ยนเป็นที่รู้จักกันทั่วไปว่าเป็นบัฟเฟอร์คู่หรือบัฟเฟอร์สามครั้งขึ้นอยู่กับจำนวนเฟรมที่ถูกดึงล่วงหน้าของ Framebuffer ที่ใช้งานอยู่การใช้อัลกอริทึมการกำหนดเวลานาโนวินาทีหรือมิลลิวินาทีเป็นส่วนสำคัญของการใช้โซ่แลกเปลี่ยนเพื่อให้แน่ใจว่าอัตราเฟรมสูงสุดของจอภาพไม่เกินและโปรแกรมสามารถก้าวไปสู่การประมวลผลและทรัพยากรของตนเองในระบบการใช้โซ่แลกเปลี่ยนหากนำไปใช้อย่างเหมาะสมอาจส่งผลให้ภาพเคลื่อนไหวราบรื่นโดยไม่คำนึงถึงคุณสมบัติของอุปกรณ์แสดงผลหรือระยะเวลาที่ใช้ในการแสดงภาพเคลื่อนไหวเฟรมเดียว