
nylig, udgivelsen af SDL 3.2 blev annonceret, som præsenteres som den første stabile version af SDL 3-grenen, og den har introduceret vigtige forbedringer, nye funktionaliteter, justeringer, API'er, rettelser og meget mere.
For dem, der ikke kender til SDL-biblioteket, skal du vide, at det giver værktøjer såsom hardware-accelereret 2D- og 3D-grafikoutput, inputbehandling, lydafspilning, 3D-output gennem OpenGL/OpenGL ES og mange andre relaterede operationer.
Vigtigste nye funktioner i SDL 3.2
I SDL 3.2 er det fremhævet Forbedret support til Wayland, det nu Det aktiveres som standard på systemer, der tilbyder kompatibilitet med både Wayland og X11, så længe de understøtter udvidelserne fifo-v1 og commit-timing-v1. Brugen af PipeWire-medieserveren, der anses for at være mere effektiv end PulseAudio, er også prioriteret som standard. Derudover er muligheden for at optage video fra webcams tilføjet, forudsat at PipeWire er tilgængelig.
En anden nyhed er Tilføjet understøttelse af grafiske tablets og digitale penne, sammen med optimeret understøttelse af DPI-skærme. Ligeledes er farverumsstyring blevet implementeret, så du kan arbejde med flere konfigurationer og give indledende support til HDR.
I lydforbedringer, I SDL 3.2 er koden blevet fuldstændig redesignet, inkorporerer nye værktøjer til at administrere logiske lydenheder, gør det lettere for forskellige dele af et program at fungere med uafhængige enheder. Derudover er der inkluderet funktionalitet til at arbejde med lydstreams, udføre konverteringer, justere samplehastigheden, mixe lyde og administrere buffering, sammen med muligheden for at ændre tonehøjden og lydstyrken. Endelig er genkendelsen af tilsluttede eller afbrudte lydenheder og den dynamiske styring af standardlydenheden blevet automatiseret.
En anden af de mest bemærkelsesværdige tilføjelser er inkorporeringen af en backend i 2D rendering API, som giver dig mulighed for at drage fordel af kraften i Vulkan til både gengivelse og manipulation af overflader ved hjælp af denne API. Derudover var der en større oprydning af funktioner, der blev betragtet som forældede, såsom understøttelse af OpenGL ES 1.0 og DirectFB, sammen med fjernelse af understøttelse af ældre platforme såsom QNX, Pandora, WinRT og OS/2.
SDL 3.2 introducerer også mulighed for at strukturere programmer ved hjælp af callback og definere behandlingsløkken af hændelser direkte i kodens hovedfunktion. Desuden sog implementerede ændringer i APJeg, der bryder med den tidligere kompatibilitet, men som søger større sammenhæng ved at forene navnereglerne i alle undersystemer.
Indenfor nye værktøjer inkluderet, fremhæve flere API'er designet til at dække forskellige behov. Mellem dem:
- GPU API muliggør adgang på tværs af platforme til 3D-gengivelsesfunktioner, mens Dialog API gør det nemt at vælge, åbne og gemme filer og mapper.
- Filsystem-API'en tilføjer understøttelse til administration af mapper og søgning efter filer, mens Storage API giver en abstrakt grænseflade til interaktion med forskellige lagersystemer.
- Kamera API for adgang til webcam
- Pen API til at arbejde med grafiske tablets
- Egenskaber API til at administrere parametre i nøgleværdi-format
- Process API, der letter eksekvering og kommunikation med sekundære processer.
- Metadata API blev også tilføjet for at definere information om applikationer, som bruges i menuer i operativsystemer såsom macOS.
Hvad angår udklipsholderen, er dens funktionalitet blevet udvidet, nu tillader data at blive overført i flere formater. For sin del blev mulighederne for at administrere tastaturinput forbedret, hvilket tilføjede muligheder for at konfigurere virtuelle tastaturer på iOS- og Android-enheder. Derudover blev API-dokumentationen gennemgået og forbedret, ledsaget af praktiske eksempler, der kan udføres direkte fra en browser.
Sidst men ikke mindst skal det også bemærkes Sammen med SDL 3.2 blev sdl2-kompatibilitetslaget frigivet, designet at give en problemfri overgang mellem SDL 2 og SDL 3. Denne komponent giver dig mulighed for at køre programmer skrevet til SDL 2 ved at drage fordel af den nye filials funktionaliteter, der fungerer som en komplet erstatning for den tidligere version.
Interesseret i at vide mere om det, kan du konsultere detaljerne I det følgende link.