SDL3 ชะลอการสนับสนุน Wayland 

เอสดีแอล

SDL เป็นชุดของไลบรารีที่พัฒนาขึ้นด้วยภาษาโปรแกรม C ซึ่งมีฟังก์ชันพื้นฐานสำหรับการดำเนินการมัลติมีเดีย (เสียงและวิดีโอ) ตลอดจนการโหลดและการจัดการรูปภาพ

SDL เป็นห้องสมุด มีเครื่องมือเช่นฮาร์ดแวร์เร่งเอาต์พุตกราฟิก 2D และ 3Dซึ่งเราได้พูดคุยกันมาแล้วหลายครั้ง ที่นี่ในบล็อก (โดยปกติจะเป็นรุ่นใหม่) พบว่าไลบรารีนี้ใช้งานได้นานตามค่าเริ่มต้นบน X11 แต่มี Wayland เป็นตัวเลือกที่สอง

ปัจจุบัน นักพัฒนาซอฟต์แวร์กำลังทำงานในสาขาใหม่ของ SDL3 โดยหนึ่งในคุณสมบัติหลักและความแปลกใหม่ (โดยเฉพาะ) คือการแทนที่ X11 โดยใช้ Wayland เป็นค่าเริ่มต้น ซึ่งเป็นการเคลื่อนไหวในทางทฤษฎีที่จะปรับปรุงหลาย ๆ ด้านของห้องสมุด

แต่ดูเหมือนว่า (อย่างน้อยตอนนี้) จะไม่มีใครบรรลุผลใน SDL3 ตั้งแต่เมื่อเร็ว ๆ นี้ มีการร้องขอไปยังนักพัฒนาซึ่งโดยพื้นฐานแล้ว ประกอบด้วยการเพิกถอนการเปลี่ยนแปลงที่ย้ายสาขา SDL3 เพื่อใช้โปรโตคอล Wayland เป็นค่าเริ่มต้นในสภาพแวดล้อมที่รองรับ Wayland และ X11 พร้อมกัน

Wayland มีปัญหาจำนวนมากที่ยังไม่ได้รับการแก้ไขซึ่งเกี่ยวข้องกับการแนะนำการบล็อกการสลีปบนพื้นผิวและการใช้งาน FIFO (vsync) ที่เสียหายโดยพื้นฐาน ส่งผลให้ประสิทธิภาพของ GPU ลดลง

ไม่ได้หมายความว่า "เราควรแก้ไข FIFO ใน Mesa/ไดรเวอร์อื่นๆ" แต่ไม่สามารถแก้ไขได้เลยหากไม่มีโปรโตคอลเพิ่มเติม ในกรณีนี้คือ fifo-v1 1 .

หากไม่มีโปรโตคอลนี้ vkQueuePresent หรือ glSwapBuffers จะต้องหยุดสำหรับการเรียกกลับ 'เฟรม' หลังจากนำเสนอรูปภาพ เหตุผลเดียวที่เราหลีกเลี่ยงสิ่งนี้ได้บน SteamOS ก็เพราะ Gamescope ใช้สิ่งที่เป็น fifo-v1 และเราใช้มันที่นั่น...

ไม่มีข้อได้เปรียบสำหรับเกมและแอปทั่วไปที่เลือก Wayland มากกว่า X11 มีเพียงการถดถอยด้านประสิทธิภาพและการใช้งานไม่ได้หลายประการ ณ จุดนี้
ดังนั้นเราจึงจำเป็นต้องคืนค่าการเปลี่ยนแปลงนี้จนกว่า fifo-v1 และ commit-timing-v1 จะถูกปล่อยออกมา และอย่างน้อยก็ในเวอร์ชันเสถียรสำหรับผู้แต่งรายใหญ่

ถึงแม้ว่า คำขอดึงได้รับการตรวจสอบและอนุมัติแล้ว โดยผู้สร้าง SDL ยังไม่ได้รวมเข้ากับฐานโค้ด- สาเหตุหลักคือมีปัญหาที่ไม่ได้รับการแก้ไขในสภาพแวดล้อม Wayland ที่เกี่ยวข้องกับการล็อคพื้นผิวและการใช้งาน FIFO (vsync) ส่งผลให้ประสิทธิภาพลดลง ปัญหาเหล่านี้ไม่สามารถแก้ไขได้อย่างสมบูรณ์หากไม่มีการใช้โปรโตคอล fifo-v1 และ commit-timing-v1 เพิ่มเติม

โดยเน้นย้ำว่า หากไม่แก้ไขปัญหาเหล่านี้ การเปลี่ยนจาก X11 ไปใช้ Wayland ก็ไม่มีประโยชน์ที่สำคัญใดๆ สำหรับแอพพลิเคชั่นและเกมทั่วไป แต่ทำให้ประสิทธิภาพลดลงอย่างมากและการถดถอยที่เป็นไปได้ ดังนั้นจึงแนะนำให้พิจารณาการย้ายจาก SDL ไปยัง Wayland อีกครั้งหลังจากที่โปรโตคอล fifo-v1 และ commit-timing-v1 ได้รับการอนุมัติและนำไปใช้ในโปรแกรมจัดการคอมโพสิตหลักรุ่นเสถียรเท่านั้น

ในส่วนของกรณีนี้ก็มีเรื่องสำคัญที่ต้องกล่าวถึงเช่นกัน ขณะนี้การรับใบสมัครถูก "เลื่อนออกไป" เนื่องจาก Sam Lantinga ผู้สร้าง SDL กล่าวถึงการตรวจสอบคำขอนี้ที่เกี่ยวข้องกับการเปลี่ยนไปใช้ Wayland โดยค่าเริ่มต้น เขากล่าวว่าคดีนี้จะได้รับการจัดการในภายหลัง (ใกล้กับการเปิดตัว SDL3 ครั้งสุดท้าย) เนื่องจากในปัจจุบันได้มีการตัดสินใจให้แล้ว ที่ต้องการแก้ไขปัญหาข้างต้น และสถานการณ์อาจกลับสู่ภาวะปกติได้ภายในเวลานั้น ในตอนนี้ Wayland ยังคงเปิดใช้งานในเวอร์ชันทดสอบ SDL 3 เพื่อการประเมินที่ดีขึ้นในสภาพแวดล้อมที่ใช้ Wayland และเพื่อรวบรวมความคิดเห็นจากผู้ใช้

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

ในขณะนี้คุณสามารถดูสถานะปัจจุบันของการพัฒนาสาขา SDL 3 ใหม่ได้ ซึ่งมีการปรับเปลี่ยนระบบย่อยต่างๆ การเปลี่ยนแปลง API ที่อาจส่งผลต่อความเข้ากันได้ และการล้างคุณลักษณะที่เลิกใช้แล้วอย่างละเอียด ตัวอย่างเช่น ใน SDL 3 โค้ดได้รับการออกแบบใหม่ทั้งหมดเพื่อให้ทำงานกับเสียง แบ็กเอนด์ใหม่สำหรับการเรนเดอร์ผ่าน Vulkan API ถูกนำมาใช้ใน API การเรนเดอร์ 2D การรองรับ HDR ได้รับการขยาย API สำหรับการทำงานกับหน้าต่างโปร่งใส เหนือสิ่งอื่นใด .

ถ้าคุณเป็น สนใจที่จะทราบความคืบหน้า ใน SDL3 คุณสามารถใช้เวอร์ชันทดลองที่มีให้ได้ ลิงค์ต่อไปนี้ในทางกลับกัน หากคุณต้องการติดตามการอภิปรายเรื่องความล่าช้าของ Wayland คุณก็สามารถทำได้ จากลิงค์ด้านล่าง