SDL3 forsinker Wayland-support 

SDL

SDL er et sæt biblioteker udviklet i programmeringssproget C, der giver grundlæggende funktioner til udførelse af multimediehandlinger (lyd og video), samt billedindlæsning og -styring.

SDL er et bibliotek , der leverer værktøjer som hardwareaccelereret 2D- og 3D-grafikoutput , hvilket vi allerede har diskuteret en del gange her på bloggen (generelt angående dets nye udgivelser). Dette bibliotek har længe vist sig at fungere som standard på X11, men med Wayland som en anden mulighed.

I øjeblikket arbejder udviklerne på den nye gren af ​​SDL3, hvor en af ​​hovedfunktionerne og en nyhed (frem for alt) var udskiftningen af ​​X11 ved brug af Wayland som standard, et træk der i teorien ville forbedre mange aspekter af biblioteket.

Men det ser ud til (i hvert fald for øjeblikket), at ingen af ​​disse ting vil blive opfyldt i SDL3, da der for nylig blev fremsat en anmodning til udviklerne , som grundlæggende bestod i at tilbagekalde den ændring, der migrerede SDL3-grenen til at bruge Wayland-protokollen som standard i miljøer, der understøtter Wayland og X11 samtidigt.

Wayland har et stort antal uløste problemer relateret til introduktionen af ​​overfladesøvnblokering og FIFO (vsync) implementeringen, der er fundamentalt brudt, hvilket fører til reduceret GPU-ydeevne.

Det betyder ikke "vi skal rette FIFO i Mesa/andre controllere", men snarere at det slet ikke kan rettes uden en yderligere protokol, i dette tilfælde fifo-v1 1.

Uden denne protokol skal vkQueuePresent eller glSwapBuffer stoppe for "frame"-tilbagekaldet efter præsentation af et billede. Den eneste grund til, at vi kan slippe afsted med dette på SteamOS, er, fordi Gamescope implementerer, hvad der i bund og grund er fifo-v1, og vi bruger det der...

Der er ingen fordel ved gennemsnitlige spil og apps, der foretrækker Wayland frem for X11, kun adskillige præstationsregressioner og ubrugelighed på dette tidspunkt.
Derfor er vi nødt til at vende denne ændring tilbage, indtil fifo-v1 og commit-timing-v1 er udgivet og i det mindste i en stabil version for store komponister.

Selvom pull-anmodningen blev gennemgået og godkendt af SDL-skaberen, er den endnu ikke blevet indarbejdet i kodebasen . Hovedårsagen er eksistensen af ​​uløste problemer i Wayland-miljøet relateret til overfladelåsning og implementeringen af ​​FIFO (vsync), hvilket resulterer i nedsat ydeevne. Disse problemer kan ikke løses fuldt ud uden at implementere de yderligere fifo-v1- og commit-timing-v1-protokoller.

Det skal bemærkes, at uden at disse problemer er adresseret, giver overgangen fra X11 til Wayland ingen væsentlige fordele for typiske applikationer og spil, men resulterer i en alvorlig forringelse af ydeevnen og potentielle regressioner. Derfor foreslås det, at migrering fra SDL til Wayland først genovervejes, efter at protokollerne fifo-v1 og commit-timing-v1 er blevet godkendt og implementeret i stabile versioner af de store composite managers.

Angående sagen er det vigtigt at nævne, at accepten af ​​anmodningen i øjeblikket er "udskudt", fordi Sam Lantinga, skaberen af ​​SDL, har udtalt, at han vil gennemgå denne anmodning relateret til overgangen til Wayland som standard. Han nævnte, at sagen vil blive behandlet senere (tættere på den endelige udgivelse af SDL3), da prioriteten i øjeblikket er at løse de førnævnte problemer, og situationen kan være løst på det tidspunkt. For nuværende forbliver Wayland aktiveret i SDL 3 betaversionerne for bedre at kunne evaluere Wayland-baserede miljøer og indsamle brugerfeedback.

Selvom det i øjeblikket ser ud til, at alt peger på, at Wayland er det endelige valg , kan forsinkelsen af ​​Wayland som standard blive en realitet, hvis problemerne ikke løses, og frem for alt ikke opnås en optimal ydeevne.

I øjeblikket kan vi se på udviklingsstatus for den nye SDL 3-gren, som inkluderer ændringer af flere undersystemer, API-ændringer, der kan påvirke kompatibiliteten, og en grundig oprydning af forældede funktioner. For eksempel har SDL 3 fuldstændigt redesignet koden til at arbejde med lyd, introduceret en ny backend til rendering via Vulkan API'en i 2D-rendering API'en, udvidet HDR-understøttelse og opdateret API'en til at arbejde med transparente vinduer, blandt andet.

Hvis du er interesseret i at lære om fremskridtene i SDL3, kan du bruge prøveversionen, der er tilgængelig på følgende link. Alternativt, hvis du gerne vil følge diskussionen om Wayland-forsinkelsen, kan du gøre det på følgende link.


Tilføj som foretrukken kilde i Google