SDL 3.2: أول إصدار رسمي ثابت يصل مع تحسينات لـ Wayland وواجهات برمجة التطبيقات الجديدة والمزيد

SDL عبارة عن مجموعة من المكتبات المطورة بلغة البرمجة C التي توفر الوظائف الأساسية لأداء عمليات الوسائط المتعددة (الصوت والفيديو) ، بالإضافة إلى تحميل الصور وإدارتها.

في الآونة الأخيرة، تم الإعلان عن إصدار SDL 3.2، والذي تم تقديمه كأول إصدار مستقر من فرع SDL 3 وقد أدخل تحسينات مهمة ووظائف جديدة وتعديلات وواجهات برمجة التطبيقات والتصحيحات والمزيد.

بالنسبة لأولئك الذين لا يعرفون مكتبة SDL، يجب أن تعلم أنها توفر أدوات مثل إخراج الرسومات ثنائية وثلاثية الأبعاد المسرَّعة بالأجهزة، ومعالجة الإدخال، وتشغيل الصوت، والإخراج ثلاثي الأبعاد من خلال OpenGL/OpenGL ES والعديد من العمليات الأخرى ذات الصلة.

الميزات الجديدة الرئيسية لبرنامج SDL 3.2

في SDL 3.2، تم تسليط الضوء عليه تحسين الدعم لوايلاند، ذلك الآن يتم تنشيطه افتراضيًا على الأنظمة التي توفر التوافق مع كل من Wayland وX11، طالما أنها تدعم امتدادات fifo-v1 وcommit-timing-v1. يتم أيضًا إعطاء الأولوية لاستخدام خادم الوسائط PipeWire، الذي يعتبر أكثر كفاءة من PulseAudio، بشكل افتراضي. بالإضافة إلى ذلك، تمت إضافة القدرة على التقاط الفيديو من كاميرات الويب، بشرط توفر PipeWire.

حداثة أخرى هي تمت إضافة دعم لأقراص الرسومات والأقلام الرقمية، إلى جانب الدعم الأمثل لشاشات DPI. وبالمثل، تم تنفيذ إدارة مساحة الألوان، مما يسمح لك بالعمل مع تكوينات متعددة وتوفير الدعم الأولي لتقنية HDR.

في تحسينات الصوت في SDL 3.2 تم إعادة تصميم الكود بالكامل، دمج أدوات جديدة لإدارة أجهزة الصوت المنطقية، مما يسهل على أجزاء مختلفة من البرنامج العمل مع أجهزة مستقلة. بالإضافة إلى ذلك، تم تضمين وظيفة للعمل مع تدفقات الصوت، وإجراء التحويلات، وضبط معدل العينة، ومزج الأصوات، وإدارة التخزين المؤقت، إلى جانب القدرة على تعديل درجة الصوت ومستوى الصوت. وأخيرًا، تمت أتمتة التعرف على أجهزة الصوت المتصلة أو المنفصلة والإدارة الديناميكية لجهاز الصوت الافتراضي.

آخر من أبرز الإضافات هو دمج الواجهة الخلفية في واجهة برمجة التطبيقات للعرض ثنائي الأبعاد، مما يسمح لك بالاستفادة من قوة Vulkan لكل من عرض الأسطح ومعالجتها باستخدام واجهة برمجة التطبيقات هذه. بالإضافة إلى ذلك، كان هناك تنظيف كبير للميزات التي تعتبر قديمة، مثل دعم OpenGL ES 1.0 وDirectFB، إلى جانب إزالة الدعم للأنظمة الأساسية القديمة مثل QNX وPandora وWinRT وOS/2.

يقدم SDL 3.2 أيضًا إمكانية هيكلة البرامج باستخدام رد الاتصال وتحديد حلقة المعالجة الأحداث مباشرة في الوظيفة الرئيسية للكود. علاوة على ذلك، سوتنفيذ التغييرات في APأنا الذي أقطع التوافق السابق، لكن أسعى إلى مزيد من التماسك من خلال توحيد قواعد التسمية في جميع الأنظمة الفرعية.

ضمن تم تضمين أدوات جديدة، وتسليط الضوء على العديد من واجهات برمجة التطبيقات المصممة لتغطية الاحتياجات المختلفة. بينهم:

  • تتيح واجهة GPU API الوصول عبر الأنظمة الأساسية إلى وظائف العرض ثلاثي الأبعاد، بينما تسهل واجهة Dialog API تحديد الملفات والأدلة وفتحها وحفظها.
  • تضيف واجهة برمجة تطبيقات نظام الملفات دعمًا لإدارة الدلائل والبحث عن الملفات، بينما توفر واجهة برمجة تطبيقات التخزين واجهة مجردة للتفاعل مع أنظمة التخزين المختلفة.
  • واجهة برمجة تطبيقات الكاميرا للوصول إلى كاميرا الويب
  • Pen API للعمل مع أقراص الرسومات
  • واجهة برمجة التطبيقات Properties (API) لإدارة المعلمات بتنسيق قيمة المفتاح
  • واجهة برمجة تطبيقات العملية التي تسهل التنفيذ والتواصل مع العمليات الثانوية.
  • تمت إضافة واجهة برمجة تطبيقات البيانات الوصفية أيضًا لتحديد المعلومات حول التطبيقات، كما هو مستخدم في القوائم في أنظمة التشغيل مثل macOS.

أما بالنسبة للحافظة، فقد تم توسيع وظائفها، يسمح الآن بنقل البيانات بتنسيقات متعددة. من جانبها، تم تحسين إمكانيات إدارة مدخلات لوحة المفاتيح، وإضافة خيارات لتكوين لوحات المفاتيح الافتراضية على أجهزة iOS وAndroid. بالإضافة إلى ذلك، تمت مراجعة وثائق واجهة برمجة التطبيقات وتحسينها، مصحوبة بأمثلة عملية يمكن تنفيذها مباشرة من المتصفح.

وأخيرًا وليس آخرًا، تجدر الإشارة أيضًا إلى ذلك جنبا إلى جنب مع SDL 3.2، تم إصدار طبقة التوافق المتوافقة مع sdl2، مصمم لتوفير انتقال سلس بين SDL 2 وSDL 3. يتيح لك هذا المكون تشغيل البرامج المكتوبة لـ SDL 2 مع الاستفادة من وظائف الفرع الجديد، ويعمل كبديل كامل للإصدار السابق.

إذا كنت مهتمًا بمعرفة المزيد عنه، يمكنك الرجوع إلى التفاصيل في الرابط التالي.