SDL 3.2: เวอร์ชันเสถียรอย่างเป็นทางการเวอร์ชันแรกมาพร้อมกับการปรับปรุงสำหรับ Wayland, API ใหม่ และอื่นๆ อีกมากมาย

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

เมื่อเร็ว ๆ นี้ มีการประกาศเปิดตัว SDL 3.2 แล้ว ซึ่งนำเสนอเป็นเวอร์ชันเสถียรรุ่นแรกของสาขา SDL 3 และได้นำเสนอการปรับปรุงที่สำคัญ ฟังก์ชันการทำงานใหม่ การปรับเปลี่ยน API การแก้ไข และอื่นๆ

สำหรับผู้ที่ไม่รู้จักไลบรารี SDL คุณควรทราบว่าไลบรารีนี้มีเครื่องมือต่างๆ เช่น เอาต์พุตกราฟิก 2D และ 3D ที่เร่งด้วยฮาร์ดแวร์ การประมวลผลอินพุต การเล่นเสียง เอาต์พุต 3D ผ่าน OpenGL/OpenGL ES และการดำเนินการอื่นๆ ที่เกี่ยวข้องอีกมากมาย

คุณสมบัติใหม่หลักของ SDL 3.2

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

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

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

อีกหนึ่งการเพิ่มที่โดดเด่นที่สุด เป็นการรวมตัวกันของแบ็กเอนด์ใน API การเรนเดอร์ 2D ซึ่งช่วยให้คุณใช้ประโยชน์จากพลังของ Vulkan ได้ สำหรับทั้งการเรนเดอร์และการจัดการพื้นผิวโดยใช้ API นี้ นอกจากนี้ ยังมีการล้างข้อมูลคุณสมบัติที่สำคัญซึ่งถือว่าล้าสมัย เช่น การสนับสนุน OpenGL ES 1.0 และ DirectFB พร้อมกับการยกเลิกการสนับสนุนสำหรับแพลตฟอร์มเดิม เช่น QNX, Pandora, WinRT และ OS/2

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

ภายใน รวมเครื่องมือใหม่ เน้น API หลายตัวที่ออกแบบมาเพื่อให้ครอบคลุมความต้องการที่แตกต่างกัน. ระหว่างพวกเขา:

  • GPU API ช่วยให้สามารถเข้าถึงฟังก์ชันการเรนเดอร์ 3D ข้ามแพลตฟอร์มได้ ในขณะที่ Dialog API ช่วยให้เลือก เปิด และบันทึกไฟล์และไดเร็กทอรีได้อย่างง่ายดาย
  • File System API เพิ่มการรองรับสำหรับการจัดการไดเร็กทอรีและการค้นหาไฟล์ ในขณะที่ Storage API ให้อินเทอร์เฟซแบบนามธรรมสำหรับการโต้ตอบกับระบบจัดเก็บข้อมูลต่างๆ
  • Camera API สำหรับการเข้าถึงเว็บแคม
  • Pen API สำหรับการทำงานกับแท็บเล็ตกราฟิก
  • Properties API เพื่อจัดการพารามิเตอร์ในรูปแบบคีย์-ค่า
  • API กระบวนการที่อำนวยความสะดวกในการดำเนินการและการสื่อสารกับกระบวนการรอง
  • นอกจากนี้ Metadata API ยังถูกเพิ่มเพื่อกำหนดข้อมูลเกี่ยวกับแอพพลิเคชั่น ดังที่ใช้ในเมนูในระบบปฏิบัติการ เช่น macOS

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

สุดท้ายแต่ไม่ท้ายสุดก็ควรสังเกตด้วยว่า นอกเหนือจาก SDL 3.2 แล้ว เลเยอร์ความเข้ากันได้ที่เข้ากันได้กับ sdl2 ยังได้รับการเผยแพร่ ออกแบบ เพื่อให้การเปลี่ยนแปลงระหว่าง SDL 2 และ SDL 3 ราบรื่น- ส่วนประกอบนี้ช่วยให้คุณสามารถเรียกใช้โปรแกรมที่เขียนขึ้นสำหรับ SDL 2 โดยใช้ประโยชน์จากฟังก์ชันการทำงานของสาขาใหม่ โดยทำหน้าที่แทนเวอร์ชันก่อนหน้าโดยสมบูรณ์

สนใจทราบข้อมูลเพิ่มเติมสามารถปรึกษารายละเอียดได้ ในลิงค์ต่อไปนี้.