SDL 3.2: den första officiella stabila versionen kommer med förbättringar för Wayland, nya API:er och mer

SDL är en uppsättning bibliotek utvecklade i programmeringsspråket C som tillhandahåller grundläggande funktioner för att utföra multimediaoperationer (ljud och video), samt bildladdning och hantering.

nyligen, lanseringen av SDL 3.2 tillkännagavs, som presenteras som den första stabila versionen av SDL 3-grenen och den har introducerat viktiga förbättringar, nya funktioner, justeringar, API:er, korrigeringar med mera.

För de som inte är medvetna om SDL-biblioteket bör du veta att det tillhandahåller verktyg som hårdvaruaccelererad 2D- och 3D-grafikutgång, ingångsbearbetning, ljuduppspelning, 3D-utmatning genom OpenGL/OpenGL ES och många andra relaterade operationer.

Viktiga nya funktioner i SDL 3.2

I SDL 3.2 är det markerat Förbättrat stöd för Wayland, det nu Den är aktiverad som standard på system som erbjuder kompatibilitet med både Wayland och X11, så länge de stöder tilläggen fifo-v1 och commit-timing-v1. Användningen av PipeWire-mediaservern, som anses vara effektivare än PulseAudio, prioriteras också som standard. Dessutom har möjligheten att fånga video från webbkameror lagts till, förutsatt att PipeWire är tillgängligt.

En annan nyhet är Tillagt stöd för grafiska surfplattor och digitala pennor, tillsammans med optimerat stöd för DPI-skärmar. Likaså har färgrymdshantering implementerats, vilket gör att du kan arbeta med flera konfigurationer och ger initialt stöd för HDR.

I ljudförbättringar, I SDL 3.2 har koden gjorts om helt, införlivande av nya verktyg för att hantera logiska ljudenheter, vilket gör det lättare för olika delar av ett program att arbeta med oberoende enheter. Dessutom har funktionalitet inkluderats för att arbeta med ljudströmmar, utföra konverteringar, justera samplingshastigheten, mixa ljud och hantera buffring, tillsammans med möjligheten att ändra tonhöjd och volym. Slutligen har igenkännandet av anslutna eller frånkopplade ljudenheter och den dynamiska hanteringen av standardljudenheten automatiserats.

Ett annat av de mest anmärkningsvärda tilläggen är inkorporeringen av en backend i 2D-renderings-API:et, vilket låter dig dra nytta av kraften i Vulkan för både rendering och manipulering av ytor med detta API. Dessutom gjordes en stor rensning av funktioner som anses föråldrade, såsom stöd för OpenGL ES 1.0 och DirectFB, tillsammans med borttagandet av stöd för äldre plattformar som QNX, Pandora, WinRT och OS/2.

SDL 3.2 introducerar också möjlighet att strukturera program med hjälp av callback och definiera bearbetningsslingan av händelser direkt i kodens huvudfunktion. Vidare, soch implementerade ändringar i APJag som bryter med den tidigare kompatibiliteten, men som söker större samstämmighet genom att förena namnreglerna i alla delsystem.

Inom nya verktyg inkluderade, lyfter fram flera API:er utformade för att täcka olika behov. Mellan dem:

  • GPU API möjliggör plattformsoberoende åtkomst till 3D-renderingsfunktioner, medan Dialog API gör det enkelt att välja, öppna och spara filer och kataloger.
  • File System API lägger till stöd för hantering av kataloger och sökning efter filer, medan Storage API ger ett abstrakt gränssnitt för interaktion med olika lagringssystem.
  • Kamera-API för åtkomst till webbkamera
  • Pen API för att arbeta med grafiska surfplattor
  • Properties API för att hantera parametrar i nyckel-värde-format
  • Process API som underlättar exekvering och kommunikation med sekundära processer.
  • Metadata API lades också till för att definiera information om applikationer, som används i menyer i operativsystem som macOS.

När det gäller urklipp har dess funktionalitet utökats, gör nu att data kan överföras i flera format. För sin del förbättrades kapaciteten för att hantera tangentbordsingångar, vilket lade till alternativ för att konfigurera virtuella tangentbord på iOS- och Android-enheter. Dessutom har API-dokumentationen granskats och förbättrats, tillsammans med praktiska exempel som kan köras direkt från en webbläsare.

Sist men inte minst bör det också noteras att Tillsammans med SDL 3.2 släpptes det sdl2-kompatibla skiktet, designad för att ge en sömlös övergång mellan SDL 2 och SDL 3. Den här komponenten låter dig köra program skrivna för SDL 2 och dra nytta av den nya grenens funktioner och fungerar som en komplett ersättning för den tidigare versionen.

Intresserad av att veta mer om det, kan du konsultera detaljerna I följande länk.