Nowa wersja Louvre 1.2, biblioteki do tworzenia serwerów kompozytowych opartych na Wayland

Dostępna jest biblioteka Louvre 1.2.0 zawierająca 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 podsystemami wejściowymi i graficznymi API w systemie Linux, a także oferuje gotowe implementacje różnych rozszerzeń protokołu Wayland. Serwer złożony oparty na Louvre zużywa znacznie mniej zasobów i wykazuje wyższą wydajność w porównaniu do Weston i Sway. Kod napisany jest w C++ i rozpowszechniany na licencji GPLv3. Przegląd możliwości Luwru można przeczytać w zapowiedzi pierwszej odsłony projektu.

W nowej wersji:

  • Dodano obsługę ustawiania wartości skali niecałkowitej (skala ułamkowa) i oversamplingu (oversampling) w celu ograniczenia artefaktów antyaliasingu podczas zwiększania skali. W przypadku skalowania ułamkowego stosowana jest skala ułamkowa protokołu Waylanda.
  • Korzystając z protokołu kontroli łez, można wyłączyć synchronizację pionową (VSync) za pomocą impulsu tłumienia pionowego, używanego do ochrony przed rozdarciem w aplikacjach pełnoekranowych. W aplikacjach multimedialnych artefakty spowodowane rozdarciem są efektem niepożądanym, ale w programach do gier artefakty mogą być tolerowane, jeśli radzenie sobie z nimi powoduje dodatkowe opóźnienia.
  • Dodano obsługę korekcji gamma przy użyciu protokołu Wayland wlr-gamma-control.
  • Dodano obsługę protokołu Wayland „viewporter”, który umożliwia klientowi wykonywanie operacji skalowania i przycinania krawędzi powierzchni po stronie serwera.
  • Do klasy LPainter dodano metody służące do rysowania obszarów tekstur z dużą precyzją i stosowania transformacji.
  • Klasa LTextureView zapewnia obsługę prostokątów źródłowych („rect źródłowy”, prostokątny obszar do wyświetlania) i transformacji.
  • Dodano klasę LBitset, aby zmniejszyć zużycie pamięci podczas przechowywania flag i stanów.

Źródło: opennet.ru

Dodaj komentarz