
Uma usebenza ekuthuthukisweni kwemidlalo yevidiyo noma izinhlelo zokusebenza ze-multimedia ezisebenzisa amapulatifomu ahlukahlukene, kungenzeka ukuthi uke wezwa nge-SDL. ukufika de I-SDL 3.4Umtapo wolwazi uthatha igxathu elikhulu phambili maqondana namakhono ehluzo, ukwesekwa kwepulatifomu, kanye namathuluzi okuthuthukisa ulwazi lomsebenzisi, kuwo wonke amadeskithophu, iwebhu, kanye namadivayisi eselula. Lokhu akusikho ukubuyekezwa okuncane: kuhlanganisa konke kusukela enjinini yokunikeza i-2D kanye ne-3D GPU API kuya ekuphatheni umsindo, abashayeli, okokufaka ipeni, izinhlelo zesimanje ze-Linux, nokuningi.
Nakuba i-SDL 3 iqhubeka nokukhula, igatsha 3.4 iziveza njengenguqulo eqinile kakhulu Yenzelwe ukusiza amaphrojekthi amasha naqhubekayo ukuthi asebenzise ukuthuthukiswa kokusebenza, ama-API amasha, kanye nokuhlanganiswa okungcono nezindawo ezifana ne-Emscripten, i-Wayland, i-Vision Pro, noma i-PlayStation 2 ezimweni ezithile. Ake sibheke kabanzi ukuthi yini entsha ku-SDL 3.4, ukuthi kungani ifanele iphrojekthi yakho elandelayo, nokuthi imiphi imininingwane yobuchwepheshe okufanele uyikhumbule uma ufuna ukuthola okuningi kuyo.
Izici ezintsha ezibaluleke kakhulu ze-SDL 3.4
Umsebenzi oyinhloko we-SDL 3.4 ugxile ku Thuthukisa ukusebenzisana phakathi kwe-3D ne-2DLokhu kuyisihluthulelo sezinjini zemidlalo nezinhlelo zokusebenza ezihlanganisa izixhumi ze-2D nokuqukethwe kwe-3D. Kuze kube manje, ukuhlanganisa zombili izendlalelo kungadinga umsebenzi owengeziwe kunjiniyela; le nguqulo yethula izinsiza ezintsha nezakhiwo ezenza kube lula le nqubo.
Ngaphezu kwezithombe, isibuyekezo sihlanganisa ukwesekwa kwendabuko kwezithombe ze-PNGKukhona ukuthuthuka okuphawulekayo ohlelweni lokufaka (igundane, i-stylus, ukushukuma komzimba, ikhibhodi esesikrinini) kanye nezinguquko eziningi ezithile ze-Windows, i-macOS, i-Linux, i-Emscripten, i-iOS, i-visionOS, namanye amapulatifomu angavamile. Ukuhlanganiswa ne-Steam ecosystem kanye nesikhathi sayo sokusebenza nakho kuthuthukisiwe, okubalulekile ekuthuthukisweni kwemidlalo ye-Linux kanye ne-cross-platform okuhloswe ngayo ukusatshalaliswa kwe-Steam.
Ukusebenzisana phakathi kwe-3D GPU API kanye nokuboniswa kwe-2D
Enye yamandla e-SDL 3.4 ukukhushulwa kwe-SDL ukuhlanganiswa phakathi kwe-3D ne-2DUmtapo wolwazi wethula imisebenzi emisha yokudala ama-renderer e-2D asekelwe ku-GPU kanye nokushintshana ngolwazi phakathi kokuthungwa kwe-GPU namafomethi e-pixel aphathwa yi-SDL.
- Kuyanezela I-SDL_CreateGPUEnderer() ukudala i-renderer ye-2D esebenzisa i-GPU API eyisisekelo.
- cunt I-SDL_GetGPUEndererDevice() Ungalanda idivayisi ye-GPU ehlotshaniswa nalowo mshini wokuhumusha.
- Bajoyina I-SDL_CreateGPUEnderState(), SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() kanye ne-SDL_DestroyGPURenderState() ukuze kusebenze ngezithunzi zezingcezu ngaphakathi kokuboniswa kwe-2D GPU.
- Manje sebevunyelwe Ukuthungwa kwe-YUV kanye nezikhala zombala ze-HDR ku-GPU-based 2D renderer, okuthakazelisa kakhulu amavidiyo nokuqukethwe okusezingeni eliphezulu.
Iphinde ifake izici ezifana nokuthi I-SDL_GetGPUDeviceProperties()Lokhu kubuyisela izakhiwo zedivayisi ye-GPU, okuhlanganisa igama ledivayisi, igama lomshayeli kanye nenguqulo, kanye nolunye ulwazi olufanele ngezinqumo zokuhambisana noma zokuxilonga. Ngaphezu kwalokho, i-`SDL_GetPixelFormatFromGPUTextureFormat()` kanye ne-`SDL_GetGPUTextureFormatFromPixelFormat()` yenza kube lula ukuguqulwa phakathi kwamafomethi okuthungwa kwe-GPU namafomethi e-SDL pixel.
Ngesikhathi esifanayo, impahla ifakiwe I-SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER Ukudala ukuthungwa kwe-2D kusuka ekuthungweni kwe-GPU okukhona, kanye ne-SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER ukuthola ukuthungwa kwe-GPU okuhlobene nokuthungwa kwe-2D uma usebenzisa i-renderer ye-2D GPU. Le ndlela inciphisa kakhulu ukungqubuzana lapho kuhlanganiswa okuqukethwe okukhiqizwe ku-API ye-GPU nepayipi yakudala ye-SDL 2D.
Ukuthuthukiswa kokuboniswa kwe-2D kanye nokuphathwa kokuthungwa
I-SDL 3.4 idlula nje ukusebenzisana futhi yengeza imisebenzi ethile ye lungisa ikhwalithi nokulawula kokuboniswa kwe-2DIsibonelo, i-SDL_RenderTexture9GridTiled() iyethulwa, okuvumela ukwenziwa kwegridi engu-9 ngezimo ezikumodi "efakwe amathayela" esikhundleni sokuzelula, okugwema ukuguquguquka kwezakhi noma ozimele besikhombimsebenzisi.
Ukuze uphathe indlela ukuthungwa okukala ngayo, okulandelayo kuyangezwa I-SDL_GetDefaultTextureScaleMode() kanye ne-SDL_SetDefaultTextureScaleMode(), evumela ukusetha imodi yokukala ezenzakalelayo yezimo ezintsha. Okuhlobene nalokhu yi-SDL_GetRenderTextureAddressMode() kanye ne-SDL_SetRenderTextureAddressMode(), kanye ne-SDL_TEXTURE_ADDRESS_WRAP engaguquki, enikeza ukwesekwa kokugoqa ukuthungwa lapho i-renderer ibonisa ukuthi isekela ukugoqa (SDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN).
Isici esisha esithakazelisayo kakhulu semidlalo enobuhle be-retro yilesi I-SDL_SCALEMODE_PIXELART, i-algorithm yokukala eyenzelwe ubuciko be-pixel egwema ukufiphaza okuvamile kwezinye izindlela zokuhlunga, igcina imiphetho echaziwe ngisho nalapho ikhulisa kakhulu isithombe.
Kukhona futhi ithuba lokusebenza ne- ama-palette okuthungwaI-SDL_SetTexturePalette() kanye ne-SDL_GetTexturePalette() zikuvumela ukuthi wabele futhi ubuze ngama-palette ezindleleni zokuthungwa, okuwusizo uma uphinda udala izitayela zezithombe ezindala noma ufuna ukwenza ngcono ukugeleza kwememori ethile kanye ne-bandwidth.
Ngokuphathelene nobuso, i-SDL 3.4 ihlanganisa I-SDL_JikelezisaUmphezulu() Ukuze kudalwe amakhophi ajikelezisiwe endawo, i-SDL_FLIP_HORIZONTAL_AND_VERTICAL yengezwa ezindaweni eziphendukayo ngasikhathi sinye kuzo zombili izingqimba. Ngaphezu kwalokho, impahla ye-SDL_PROP_SURFACE_ROTATION_NUMBER (kamuva ethathelwe indawo yi-SDL_PROP_SURFACE_ROTATION_FLOAT ezinguqukweni zokugcina zokukhishwa) isetshenziselwa ukucacisa i-engeli edingekayo ukuze kuboniswe kahle izithombe zekhamera.
Ukusekelwa kwe-PNG yemvelo kanye nokulayisha okuphezulu
Enye yezinguquko ezamukelekayo kakhulu maqondana nokusebenza kahle ukuthi i-SDL 3.4 ifaka phakathi ukwesekwa komdabu kwe-PNG...ngaphandle kokuthembela emitatsheni yangaphandle ezimweni eziningi. Lokhu kwenza kube lula okuningi amaphrojekthi amancane kanye nama-prototypes.
- I-SDL_LoadPNG() futhi i-SDL_LoadPNG_IO() ivumela ukulayisha izithombe ze-PNG ngqo njengezindawo.
- I-SDL_SavePNG() kanye ne-SDL_SavePNG_IO() zisetshenziselwa ukulondoloza izindawo ngefomethi ye-PNG.
- cunt I-SDL_LoadSurface() I-SDL_LoadSurface_IO() ithola ngokuzenzakalelayo ukuthi ifayela liyi-BMP noma i-PNG bese ililayisha endaweni ethile ngaphandle kokuthi ukhathazeke ngefomethi.
Lokhu kusekelwa okuhlanganisiwe kuhunyushwa ku- ukuncika okumbalwa kanye nokucushwa kwangaphandleLokhu kuwusizo ikakhulukazi lapho kuhlanganiswa amapulatifomu amaningi noma kusetshenziswa i-SDL ngaphakathi kwezimo ezifana ne-Emscripten, lapho ukunciphisa inani lamalayibrari asizayo kwenza umehluko kokubili ngobukhulu be-binary kanye nobunzima.
Okokufaka: igundane, i-stylus, ukuthinta, kanye nekhibhodi esesikrinini
I-SDL 3.4 ithuthukisa kakhulu konke okuhlobene amadivayisi okufaka athuthukisiweEsizindeni segundane, i-SDL_SetRelativeMouseTransform() iyethulwa, okuvumela ukusebenzisa ukuguqulwa okwenziwe ngokwezifiso kokufakwayo kwegundane okuhlobene, okuwusizo kumasu okukala, ukuguqulwa kwe-axis, noma ukumepha okukhethekile.
Ngokuphathelene namapensela nama-stylus, kubonakala sengathi I-SDL_GetPenDeviceType()okukuvumela ukuthi uhlukanise ukuthi ipeni isebenza ngqo esikrinini noma ku-touchpad ehlukile, imininingwane ewusizo kakhulu yokuvumelanisa i-UX ngokohlobo lwedivayisi.
Kumadivayisi anekhibhodi ebonakalayo, i-SDL ingeza imicimbi efana nalokhu IKHIBHODI_YESIKRINI_SE-SDL_EVENT_SHOWN kanye ne-SDL_EVENT_SCREEN_KEYBOARD_HIDDEN, ezibika ukuthi ikhibhodi esesikrinini iboniswa noma ifihliwe. Lokhu kukunika ithuba lokulungisa isikhombimsebenzisi, ukuhambisa izakhi, noma ukuvimbela amasimu ombhalo ukuthi angambozwa.
Uhlelo lokuthinta luphinde lwandiswe ngemicimbi I-SDL_EVENT_PINCH_BEGIN, i-SDL_EVENT_PINCH_UPDATE kanye ne-SDL_EVENT_PINCH_ENDokuthola ukuthinta kokucindezela ukuze kukhuliswe i-zoom kanye nezenzo ezifanayo. Ngaphezu kwalokho, endaweni yaseWayland, ukusekelwa kwezinkinobho zegundane ezingaphezu kwezinhlanu kuyalungiswa, futhi ukuskrola ngokunemba kwethulwa ku-X11, okuthuthukisa ukushelela kokuskrola okuncane.
Okokugcina, i-SDL 3.4 ihlanganisa Incazelo ye-SDL_GetEvent(), umsebenzi wokuthola incazelo yesiNgisi yomcimbi, ohloselwe ukuloba nokulungisa amaphutha, into ewusizo kakhulu uma ulandela ukuziphatha kokufaka okungavamile kumapulatifomu amaningi.
Umsindo: imisebenzi eguquguqukayo futhi akukho ukucutshungulwa kabusha kwesistimu
Isistimu encane yomsindo nayo ithola isabelo sayo esifanele sokuthuthukiswa, kugxilwe kakhulu ku Ukucubungula okusebenzayo kanye nokulawula amapayipiOkokuqala, i-SDL_EVENT_AUDIO_DEVICE_ADDED manje isithunyelwa ngesikhathi sokuqaliswa kwedivayisi ngayinye yomsindo etholakele, okwenza kube lula ukuthola nokufaka amadivayisi ohlwini ngaphandle kokulinda imicimbi eguquguqukayo.
Izici ezimbili ezintsha, I-SDL_PutAudioStreamDataNoCopy() kanye ne-SDL_PutAudioStreamPlanarData(), kunikeza izinketho ezengeziwe lapho usebenza ngemisakazo yomsindo: eyokuqala igwema amakhophi angadingekile ezimweni ezithile, kanti eyesibili ivumela idatha ukuthi ifakwe ngefomethi ye-planar esikhundleni se-interleaved, efanelekile emisakazweni ethuthukisiwe noma ukuhlanganiswa nemitapo yolwazi yokucubungula umsindo esezingeni eliphezulu.
Ngaphezu kwalokho, icebiso le-SDL_HINT_AUDIO_DEVICE_RAW_STREAM lithatha indawo ephambili: leli cebiso libonisa ukuthi uhlelo lokusebenza Akufanele usebenzise ukucubungula okwengeziwe kumsindo. (njengokukhansela umsindo). Lokhu kubalulekile uma uhlelo lwakho lokusebenza noma umdlalo usuvele uphatha ukucutshungulwa futhi ungafuni ukuthi i-OS iphazamise futhi iphazamise umphumela. Kwethulwe futhi i-SDL_PROP_AUDIOSTREAM_AUTO_CLEANUP_BOOLEAN, evumela ukusakazwa okuthile ukuthi kusinde ngale komjikelezo wokuphila wesistimu yomsindo, into ewusizo ekwakhiweni kwezakhiwo okuyinkimbinkimbi kakhulu.
Abalawuli namadivayisi e-HID
I-SDL 3.4 ithuthukisa kakhulu ukusekelwa kwabalawuli namadivayisi e-HID, yandisa ububanzi behadiwe esebenza ngaphandle kwebhokisi ngaphandle kokucushwa kwangaphandle. Ikakhulukazi, iyanezela Ukusekelwa okuthuthukisiwe kwabalawuli be-8BitDoI-FlyDigi kanye ne-Hand Held Legend SINput, okwenza kube lula kuma-gamepad amaningi ezinkampani zangaphandle ukuthi asebenze ngokuqhubekayo.
Iphinde ihlanganiswe Isitendi sokulawula se-Nintendo Switch 2 esinezintambo Uma i-SDL ihlanganiswe ne-libusb, lokhu kuyathakazelisa kubasebenzisi abakhetha ukuxhumana okuqondile kunemodi engenantambo. Ezingeni le-HID API, i-SDL_hid_get_properties() ibonakala ihlobanisa izakhiwo ze-SDL namadivayisi e-HID, kanti impahla ye-SDL_PROP_HIDAPI_LIBUSB_DEVICE_HANDLE_POINTER ivumela ukubuyisa isibambo se-libusb esihlotshaniswa ne-SDL_hid_device uma sivuliwe nge-libusb.
Lokhu kuthuthuka kungaphezu kweqiniso lokuthi i-SDL 3.4 ihlanganisa ukwesekwa kwe-Steam Controller entsha ngaphakathi kwendawo yayo yokungena, futhi lokho kuhambisana kahle nendima yayo ngaphakathi kwesikhathi sokusebenza seSteam kanye nokugxila ekudlaleni imidlalo ku-Linux nakwamanye amapulatifomu.
Imicimbi, uhlelo kanye nezinsiza ezijwayelekile
Ngale kwezici zesithombe nezokufaka, i-SDL 3.4 yethula uchungechunge lwezinguquko ohlelweni lwemicimbi kanye nezinsiza ezijwayelekile okufanele ukwazi ngazo. Isibonelo, I-SDL_EVENT_WINDOW_EXPOSED Manje igcwalisa insimu ye-data1 nge-true uma ithunyelwa ngesikhathi sokushintsha usayizi wewindi elibukhoma, okunikeza umongo owengeziwe.
Kuyanezela I-SDL_EVENT_DISPLAY_USABLE_BOUNDS_ISHINTSHIWELo mcimbi uqala lapho imingcele yedeskithophu esebenzisekayo ishintsha (isibonelo, lapho kususwa ama-taskbar noma amaphaneli). Uphinde ufake i-SDL_EVENT_SCREEN_KEYBOARD_SHOWN/SDL_EVENT_SCREEN_KEYBOARD_HIDDEN kanye nemicimbi yokuncinza okukhulunywe ngayo ngaphambilini, ngaleyo ndlela kuhlinzekwe ngesistimu yemicimbi ephelele kakhulu yezimo ze-UI ezishintshashintshayo.
Ngasohlangothini lwenzuzo, I-SDL_HINT_MAIN_CALLBACK_RATE manje ingasethwa njengenani lephuzu elintantayo, okunikeza ukunemba okwengeziwe; I-SDL_AddAtomicU32() Ingeza ukwesekwa kokungezwa kwe-athomu kuma-integers angasayiniwe angu-32-bit; kanye I-SDL_GetSystemPageSize() ibuyisela usayizi wekhasi lesistimu, eliwusizo emisebenzini yememori esezingeni eliphansi.
Futhi kufakiwe I-SDL_ALIGNED()Le macro ikhombisa ukuthi idatha ethile kufanele ibe nokuqondaniswa okuthile, okubaluleke kakhulu ekuthuthukisweni kokusebenza kanye nokusetshenziswa kwemiyalelo ye-SIMD. Okwamanje, i-SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER ikuvumela ukuthi uchaze umsebenzi wokukhishwa ngokwezifiso wememori esetshenziswa yi-SDL_IOFromMem() kanye ne-SDL_IOFromConstMem(), okukunikeza ukulawula okwengeziwe lapho uhlanganisa i-SDL nabanikezeli bakho.
Okunye ukuthuthuka okuthakazelisayo ukusekelwa kwe- umphumela welogi onemininingwane Uma i-DEBUG_INVOCATION environment variable isethwe ku-"1", ehloselwe ukulungisa amaphutha ngokujulile ekuqalisweni komtapo wolwazi kanye nokuziphatha ezimweni eziyinkimbinkimbi.
Ukuthuthukiswa okuqondile ku-Windows
Ku-Windows, i-SDL 3.4 ifaka izinguquko ezibalulekile ezithinta umsindo, ividiyo, kanye nohlelo lokufaka. Elinye lamaphuzu athakazelisayo yisici secebiso. I-SDL_HINT_RENDER_DIRECT3D11_WARPLokhu kukuvumela ukuthi usebenzise i-WARP (i-rasterizer yesofthiwe ye-D3D11). Lokhu kuwusizo emishinini engenayo i-GPU ehambisanayo noma ezindaweni ezi-virtualized lapho kungekho ukusheshisa okuqondile kodwa usafuna ukusebenzisa i-API.
Umshayeli we-WASAPI usebenzisa ithuba I-SDL_HINT_AUDIO_DEVICE_STREAM_ROLE Ukuze ulungise isigaba sokusakazwa komsindo, ukuhlanganiswa okubalulekile kokuziphatha okuvumelana nesistimu (isb., umsindo womdlalo, ukuxhumana, njll.). Kuphinde kuthembele ku-SDL_HINT_AUDIO_DEVICE_RAW_STREAM ukukhombisa ukuthi umshayeli kufanele yini asebenzise ukucubungula okwengeziwe noma cha.
Icebiso lifakwa ohlangothini lokufaka ikhibhodi. I-SDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYSLokhu kukuvumela ukuthi ukhubaze izinqamuleli ezithile zesistimu uma usebenzisa okokufaka okungavuthiwe, okuwusizo kakhulu emidlalweni edinga ukuthwebula izinhlanganisela zezihluthulelo ngaphandle kokuphazamiseka kwesistimu. Futhi ezingeni le-GameInput API, I-SDL_HINT_WINDOWS_GAMEINPUT Ikhutshazwa ngokuzenzakalelayo, okunciphisa ukungqubuzana okungenzeka kwezinye izindawo kuze kube yilapho ilungiselelwe ngokucacile.
Kuphinde kwengezwe I-SDL_PROP_DISPLAY_WINDOWS_HMONITOR_POINTER Ukuze uthole i-HMONITOR ehlotshaniswa nesikrini, into ewusizo kakhulu uma uxuba i-SDL nekhodi yakudala ye-Win32 futhi udinga ukuhlanganisa ama-windows noma ama-monitor.
i-macOS, i-iOS, kanye ne-visionOS
Ku-macOS, i-SDL 3.4 ifaka icebiso eliwusizo kakhulu: I-SDL_HINT_MAC_PRESS_AND_HOLDLokhu kulungiselelwa kulawula ukuthi ukubamba inkinobho kuphinda ukuchofoza inkinobho noma kuvula imenyu ye-accent. Lokhu kukuvumela ukuthi ulungise ukuziphatha kwekhibhodi kwemidlalo nezinhlelo zokusebenza ezidinga ukuphindaphinda okusheshayo kwenkinobho esikhundleni semenyu evamile ye-accent ye-macOS.
Ku-iOS, i-SDL manje isekela izigcawu zamafasitelaLokhu kuxazulula isexwayiso esithi "IKHASIMENDE LE-UIKIT LIDINGA UKUBUYEKEZA" futhi kuvumelanisa umtapo wolwazi nemikhuba yesimanje ye-UIKit. Impahla ye-SDL_PROP_WINDOW_CREATE_WINDOWSCENE_POINTER yethulwa ukuze icacise indawo yefasitela lapho kudalwa ifasitela le-SDL, okusiza ukuhlanganisa kahle uhlelo lokusebenza ohlelweni lwefasitela lwe-iOS.
Ku-visionOS nakumadivayisi afana ne-Apple Vision Pro, i-SDL 3.4 ilungisa ukuziphatha kwewindi kanye namazinga okuvuselela. Izinga lokuvuselela elizenzakalelayo lingu ikhuphuka ibe ngu-90 Hzinikeza ulwazi olubushelelezi, futhi i-SDL_SetWindowSize() ishintsha ngempumelelo usayizi wefasitela kuma-headset e-Vision Pro, inikeze ukulawula okwengeziwe phezu kwesakhiwo ezindaweni ezixubile zeqiniso.
I-Linux, i-Wayland, i-KMS/DRM kanye ne-Vulkan
Ezweni le-Linux, i-SDL 3.4 iza nezici eziningi ezintsha. Okokuqala, iyanezela ukwesekwa kwe-athomu kwe-KMSDRMLokhu kuthuthukisa ukuzinza nokuvumelanisa ngokusebenzisana ngqo nesistimu yehluzo ye-kernel. Okuhlobene nalokhu, icebiso le-SDL_HINT_KMSDRM_ATOMIC livumela ukulawula ukuthi i-KMSDRM izoyisebenzisa yini le misebenzi ye-athomu noma cha.
KuWayland, okulandelayo kufakwa: I-SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTERLesi sici sikuvumela ukuthi uthole i-wl_output ehlotshaniswa nesikrini, okwenza kube lula ukuhlanganiswa okujulile ne-compositor. Ngaphezu kwalokho, izinkinga ngamagundane anezinkinobho ezingaphezu kwezinhlanu zilungisiwe, futhi ukuskrola ngokunemba ngaphansi kwe-X11 kuthuthukisiwe, okunikeza umuzwa wokulawula ongcono kakhulu ezinhlelweni zokusebenza ezithembele kakhulu ekuskroleni.
Ngokuphathelene ne-Vulkan, i-SDL 3.4 iyethula ukuhlelwa kwe-batch kanye nokunye ukuthuthukiswa kwama-API afana ne-Vulkan, okunciphisa izingcingo zokudonsa ezingafuneki futhi kuthuthukise ukusebenza okuphelele. Kusetshenzwa futhi nge-logic ethola i- I-Vulkan GPU enamandla kakhulu Ezinhlelweni ezinama-GPU amaningi, kuyasiza ukukhetha ngokuzenzakalelayo idivayisi efaneleke kakhulu, ikakhulukazi ezinhlelweni ze-hybrid noma ze-laptop ezinama-GPU ahlanganisiwe nazinikele.
Ngaphezu kwalokho, impahla ye-SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER yengezwa ukuze kulungiselelwe izinketho ze-Vulkan lapho kudalwa idivayisi ye-GPU, kanye ne-SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN ukuze kudingeke ukusheshiswa kwehadiwe lapho kudalwa idivayisi eshiwoyo. Ezingeni lesistimu elingaphezulu, i-SDL nayo ibekwe njenge Ithuluzi le-X11 ngokwethulwa kwe-X11TK njengethuluzi layo le-X11 le-SDL.
Ukusetshenziswa kwe-Emscript kanye nesiphequluli
I-SDL 3.4 ithuthukisa kakhulu ukuhlanganiswa kwayo ne- Ukubhalisa nokusebenzisa kuziphequluli zewebhuLokhu kubalulekile uma ufuna ukuhambisa umdlalo noma uhlelo lwakho lokusebenza kuwebhu ngaphandle kokulibhala kabusha kusukela ekuqaleni. Esinye sezici ezintsha sivumela iwindi le-SDL ukuthi "ligcwalise idokhumenti" ngaphandle kokuba yisikrini esigcwele.
Enguqulweni yangaphambilini, i-SDL_HINT_EMSCRIPTEN_FILL_DOCUMENT yethulwe, futhi ekukhishweni kokugcina ihlelwe kabusha izungeze ifulegi IDOKHUMENTI_YOGCWALISA_IWINDOW_SDL kanye nomsebenzi we-SDL_SetWindowFillDocument(), kanye nezakhiwo eziningana ezihlobene. Izibonelo eziphawulekayo zifaka:
- I-SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING kanye ne-SDL_PROP_WINDOW_EMSCRIPTEN_CANVAS_ID_STRING, ukusetha nokubuza i-ID yekhanvasi esetshenziswa yi-SDL.
- I-SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_Gcwalisa_IDOKHUMENTI_YE-BOOLEAN kanye ne-SDL_PROP_WINDOW_EMSCRIPTEN_FILL_DOCUMENT_BOOLEAN, ukukhombisa nokuhlola ukuthi ifasitela kufanele lithathe yonke idokhumenti.
- I-SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING kanye ne-SDL_PROP_WINDOW_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING, ukuze kucaciswe futhi kuphenywe ngento okuxhunywe kuyo okokufaka kwekhibhodi.
Lezi zinketho zinikeza ukulawula okuhle kakhulu I-SDL ihlangana kanjani ne-DOM kanye ne-canvas?Lokhu kusiza ukugwema ama-hacks kanye nezendlalelo eziphakathi lapho usebenza ne-Emscripten. Futhi kwenza kube lula ukuqinisekisa ukuhambisana kwe-SDL nezinhlaka zewebhu noma ukuhlanganiswa okuyinkimbinkimbi lapho i-canvas iyingxenye eyodwa kuphela yekhasi.
I-PlayStation 2 namanye amapulatifomu angavamile
Nakuba kungase kumangaze, i-SDL 3.4 nayo iyakunaka amapulatifomu amadala njenge-PlayStation 2Kungezwe amacebo okulawula amapharamitha okubonisa: SDL_HINT_PS2_GS_WIDTH, SDL_HINT_PS2_GS_HEIGHT, SDL_HINT_PS2_GS_PROGRESSIVE kanye ne-SDL_HINT_PS2_GS_MODE, okukuvumela ukuthi ulungise isixazululo, imodi eqhubekayo kanye nezilungiselelo ezijwayelekile ze-Graphics Synthesizer.
Le mininingwane ikwenza kucace ukuthi i-SDL isalokhu iyindlela eguquguqukayo kakhulu amaphrojekthi e-homebrew, ukulingisa, noma ucwaningo kumapulatifomu amadala, ngaphandle kokugxila kwayo kakhulu kuma-PC esimanje, aselula kanye newebhu.
Ukuphathwa kwenqubo, izimvume zekhamera, kanye nemethadatha ye-ELF
Ezingeni lesistimu, i-SDL 3.4 ingeza isici I-SDL_PROP_PROCESS_DALA_UMQONDISI_WOKWENZA_I-STRINGLokhu kusetshenziselwa ukumisa isiqondisi sokusebenza sezinqubo ezintsha ezidalwe kusuka ku-SDL. Lokhu kwenza kube lula ukusebenzisa ama-subprocess noma amathuluzi angaphandle kusuka kuhlelo lwakho lokusebenza lwe-SDL ngaphandle kokufinyelela i-API yesistimu yokusebenza.
Emkhakheni wezithombe, I-SDL_GetCameraPermissionState() manje ibuyisela inani lohlobo I-SDL_CameraPermissionState esikhundleni senombolo ephelele, ukuvumelanisa kangcono ama-semantics kanye nokwenza kube lula ukuphathwa kwemvume kumapulatifomu eselula nawedeskithophu.
Kuzinhlelo ze-Unix, i-SDL ifaka amanothi e-ELF achaza i- izinsiza zomtapo wolwazi ezingadingeki Ukulandela ifomethi ebhalwe ku-systemd.io/ELF_DLOPEN_METADATA, umqondo uwukuthi ukusatshalaliswa kungahlaziya lawa manothi futhi kukhiqize ngokuzenzakalelayo ukuncika kokupakisha kusetshenziswa amathuluzi afana nama-package-notes. I-SDL inikeza i-SDL_ELF_NOTE_DLOPEN macro ukuze eminye imitapo yolwazi nemidlalo ikwazi ukwenza okufanayo, okwenza kube lula ukuphathwa kokuncika okuhlanzekile kakhulu.
Inqubekela phambili yewindi kanye nezikhombisi ezinyakazayo
Ukuze kuthuthukiswe ulwazi lomsebenzisi, i-SDL 3.4 ingeza izici ezenzelwe bonisa inqubekela phambili futhi ucebise isikhombikubonaIsibonelo, i-SDL_SetWindowProgressState(), i-SDL_SetWindowProgressValue(), i-SDL_GetWindowProgressState(), kanye ne-SDL_GetWindowProgressValue() zethulwa ukuze kuboniswe imigoqo yenqubekela phambili kusithonjana sewindi kubha yomsebenzi ye-Windows ne-Linux.
Lesi sici sivumela umsebenzisi ukuthi abone isimo sokusebenza isikhathi eside (ukulanda, ukulayisha, ukwakheka kwangaphakathi, njll.) noma ngabe ifasitela alikho ngaphambili. Kuyindlela enhle kakhulu yokunikeza impendulo ngaphandle kokuklama ama-HUD engeziwe.
Ngakolunye uhlangothi, i-SDL_CreateAnimatedCursor() ivumela dala izikhombisi zombala ezigqwayizayoLokhu kunezela ukucwebezela okubonakalayo emidlalweni noma kumathuluzi lapho i-cursor ixhumana khona ngezimo (ukulayisha, isenzo esingenzeka, isexwayiso, njll.). Kuhlanganiswe ne-hint entsha ye-SDL_HINT_MOUSE_DPI_SCALE_CURSORS, manje eseyi-"0" ngokuzenzakalelayo ukuvimbela ama-cursor ekushintsheni usayizi ngokungalindelekile ezindaweni ezilinganiswe yi-DPI, inikeza ukulawula okubikezelwayo okwengeziwe ngokubukeka kwe-pointer.
Ngale sethi yezinguquko—kusukela ekuhlanganisweni kwe-3D/2D GPU, ukwesekwa kwe-PNG yemvelo, ukuthuthukiswa kokufaka nomsindo, kuya ekunakweni kwe-Linux yesimanje, i-Emscripten, i-visionOS, kanye nama-consoles akudala—i-SDL 3.4 iqinisa isikhundla sayo njenge- ibhokisi lamathuluzi eliphelele kakhulu lokuthuthukiswa kwamapulatifomu ahlukahlukeneukunciphisa ukuncika kwangaphandle nokunikeza isisekelo esiqinile sokuphinda ubuyekeze ngaphandle kokuchitha usuku lonke izinkinga zokulungisa amaphutha ezingahlobene nekhodi yakho.
