
Ostatnio ogłoszono wydanie SDL 3.2, która jest prezentowana jako pierwsza stabilna wersja gałęzi SDL 3 i wprowadziła ważne ulepszenia, nowe funkcjonalności, dostosowania, API, poprawki i wiele więcej.
Ci, którzy nie znają biblioteki SDL, powinni wiedzieć, że zapewnia ona takie narzędzia, jak przyspieszane sprzętowo wyjście grafiki 2D i 3D, przetwarzanie sygnału wejściowego, odtwarzanie dźwięku, wyjście 3D poprzez OpenGL/OpenGL ES i wiele innych powiązanych operacji.
Główne nowe funkcje SDL 3.2
W SDL 3.2 jest to podświetlone Ulepszone wsparcie dla Waylanad, to teraz Jest domyślnie aktywowany w systemach oferujących kompatybilność zarówno z Waylandem, jak i X11, o ile obsługują rozszerzenia fifo-v1 i commit-timing-v1. Domyślnie priorytetem jest również użycie serwera multimediów PipeWire, uważanego za bardziej wydajny niż PulseAudio. Dodatkowo dodano możliwość przechwytywania obrazu z kamer internetowych, jeśli dostępny jest PipeWire.
Kolejną nowością jest Dodano obsługę tabletów graficznych i piór cyfrowych, wraz ze zoptymalizowaną obsługą wyświetlaczy DPI. Podobnie zaimplementowano zarządzanie przestrzenią kolorów, co pozwala na pracę z wieloma konfiguracjami i zapewnia wstępną obsługę HDR.
W zakresie ulepszeń dźwięku, W SDL 3.2 kod został całkowicie przeprojektowany, wprowadzenie nowych narzędzi do zarządzania logicznymi urządzeniami audio, co ułatwia współpracę różnych części programu z niezależnymi urządzeniami. Dodatkowo dodano funkcjonalność do pracy ze strumieniami audio, przeprowadzania konwersji, dostosowywania częstotliwości próbkowania, miksowania dźwięków i zarządzania buforowaniem, wraz z możliwością modyfikowania wysokości i głośności. Wreszcie, zautomatyzowane zostało rozpoznawanie podłączonych i odłączonych urządzeń dźwiękowych oraz dynamiczne zarządzanie domyślnym urządzeniem dźwiękowym.
Kolejny z najbardziej godnych uwagi dodatków to włączenie backendu do API renderowania 2D, co pozwala wykorzystać moc Vulkana zarówno do renderowania, jak i manipulowania powierzchniami przy użyciu tego interfejsu API. Dodatkowo dokonano gruntownego oczyszczenia funkcji uznawanych za przestarzałe, takich jak obsługa OpenGL ES 1.0 i DirectFB, wraz z usunięciem obsługi starszych platform, takich jak QNX, Pandora, WinRT i OS/2.
SDL 3.2 wprowadza także możliwość konstruowania programów za pomocą wywołania zwrotnego i definiowania pętli przetwarzania zdarzeń bezpośrednio w funkcji głównej kodu. Ponadto, si wdrożyliśmy zmiany w APZrywam z dotychczasową kompatybilnością, ale szukam większej spójności poprzez ujednolicenie zasad nazewnictwa we wszystkich podsystemach.
W obrębie nowe narzędzia, wyróżnij kilka interfejsów API zaprojektowanych w celu zaspokojenia różnych potrzeb. Między nimi:
- GPU API umożliwia wieloplatformowy dostęp do funkcji renderowania 3D, podczas gdy Dialog API ułatwia wybieranie, otwieranie i zapisywanie plików i katalogów.
- Interfejs API systemu plików dodaje obsługę zarządzania katalogami i wyszukiwania plików, podczas gdy interfejs API przechowywania zapewnia abstrakcyjny interfejs do interakcji z różnymi systemami przechowywania.
- Interfejs API aparatu umożliwiający dostęp do kamery internetowej
- Pen API do pracy z tabletami graficznymi
- Właściwości API do zarządzania parametrami w formacie klucz-wartość
- Process API ułatwiające realizację i komunikację z procesami wtórnymi.
- Dodano także API Metadata umożliwiające definiowanie informacji o aplikacjach używanych w menu systemów operacyjnych takich jak macOS.
Jeśli chodzi o schowek, jego funkcjonalność została rozszerzona, umożliwia teraz przesyłanie danych w wielu formatach. Ze swojej strony poprawiono możliwości zarządzania wejściami z klawiatury, dodając opcje konfiguracji klawiatur wirtualnych na urządzeniach z systemem iOS i Android. Dodatkowo sprawdzono i udoskonalono dokumentację API, uzupełnioną praktycznymi przykładami, które można uruchomić bezpośrednio z przeglądarki.
Na koniec należy również zauważyć, że Wraz z SDL 3.2 wydano warstwę kompatybilności z sdl2, zaprojektowany aby zapewnić płynne przejście pomiędzy SDL 2 i SDL 3. Komponent ten umożliwia uruchamianie programów napisanych dla SDL 2 z wykorzystaniem funkcjonalności nowej gałęzi, stanowiąc całkowity zamiennik poprzedniej wersji.
Jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami W poniższym linku.