Dostępna jest wersja biblioteki Louvre 1.2.0, która dostarcza komponenty do tworzenia serwerów kompozytowych opartych na protokole Wayland. Biblioteka zajmuje się wszystkimi operacjami niskiego poziomu, w tym zarządzaniem buforami graficznymi, interakcją z systemami wejściowymi i graficznymi API w systemie Linux, a także oferuje gotowe implementacje różnych rozszerzeń protokołu Wayland. Stworzony na bazie Louvre serwer kompozytowy zużywa znacznie mniej zasobów i wykazuje wyższą wydajność w porównaniu do Weston i Sway. Kod napisany jest w języku C++ i jest dystrybuowany na licencji GPLv3. Przegląd możliwości Louvre można przeczytać w zapowiedzi pierwszej wersji projektu.
W nowej wersji:
- Dodano wsparcie dla ustawiania niecałkowitych wartości skali (fractional scale) oraz oversamplingu (oversampling) w celu zmniejszenia artefaktów wynikających z wygładzania przy zwiększaniu skali. Protokół Wayland fractional-scale został wykorzystany do skalowania ułamkowego.
- Za pomocą protokołu tearing-control wprowadzono możliwość wyłączenia pionowej synchronizacji (VSync) z impulsem wygaszającym klatki, stosowanej w celu ochrony przed pojawieniem się rozdarć (tearing) w aplikacjach pełnoekranowych. W aplikacjach multimedialnych wystąpienie artefaktów z powodu rozdarć jest efektem niepożądanym, ale w grach można tolerować artefakty, jeśli ich eliminacja prowadzi do dodatkowych opóźnień.
- Dodano wsparcie dla korekcji gamma z wykorzystaniem protokołu Wayland wlr-gamma-control.
- Dodano wsparcie dla protokołu Wayland «viewporter», który pozwala klientowi na wykonywanie działań związanych z skalowaniem i przycinaniem krawędzi powierzchni po stronie klienta. serwera.
- W klasie LPainter dodano metody do rysowania obszarów tekstur z dużą precyzją oraz zastosowaniem transformacji.
- W klasie LTextureView wdrożono wsparcie dla prostokątów źródłowych (source rect, prostokątny obszar do wyświetlania) oraz transformacji.
- Dodano klasę LBitset, aby zmniejszyć zużycie pamięci przy przechowywaniu flag i stanów.
Źródło: opennet.ru
