Neue Version von Louvre 1.2, einer Bibliothek zur Entwicklung von Verbundservern auf Basis von Wayland

Die Louvre 1.2.0-Bibliothek ist jetzt verfügbar und bietet Komponenten für die Entwicklung von Verbundservern auf Basis des Wayland-Protokolls. Die Bibliothek kümmert sich um alle Low-Level-Vorgänge, einschließlich der Verwaltung von Grafikpuffern, der Interaktion mit Eingabesubsystemen und Grafik-APIs in Linux, und bietet außerdem vorgefertigte Implementierungen verschiedener Erweiterungen des Wayland-Protokolls. Ein auf Louvre basierender Verbundserver verbraucht deutlich weniger Ressourcen und weist im Vergleich zu Weston und Sway eine höhere Leistung auf. Der Code ist in C++ geschrieben und wird unter der GPLv3-Lizenz vertrieben. Einen Überblick über die Fähigkeiten von Louvre finden Sie in der Ankündigung der ersten Veröffentlichung des Projekts.

In der neuen Version:

  • Unterstützung für das Festlegen nicht ganzzahliger Skalierungswerte (Bruchskala) und Überabtastung (Oversampling) hinzugefügt, um Anti-Aliasing-Artefakte beim Erhöhen der Skalierung zu reduzieren. Für die fraktionierte Skalierung wird das Wayland-Protokoll Fractional-Scale verwendet.
  • Mithilfe des Tearing-Control-Protokolls ist es möglich, die vertikale Synchronisation (VSync) mit einem vertikalen Dämpfungsimpuls zu deaktivieren, der zum Schutz vor Tearing in Vollbildanwendungen dient. Bei Multimedia-Anwendungen stellen Tearing-Artefakte einen unerwünschten Effekt dar, bei Gaming-Programmen können Artefakte jedoch toleriert werden, wenn der Umgang mit ihnen zu zusätzlichen Verzögerungen führt.
  • Unterstützung für Gammakorrektur mithilfe des Wayland-Protokolls wlr-gamma-control hinzugefügt.
  • Unterstützung für das Wayland „Viewporter“-Protokoll hinzugefügt, das es dem Client ermöglicht, Skalierungs- und Oberflächenkantentrimmaktionen auf der Serverseite durchzuführen.
  • Der LPainter-Klasse wurden Methoden hinzugefügt, um Texturbereiche mit hoher Präzision zu zeichnen und Transformationen anzuwenden.
  • Die LTextureView-Klasse bietet Unterstützung für Quellrechtecke („Source Rect“, ein rechteckiger Bereich zur Anzeige) und Transformationen.
  • Die LBitset-Klasse wurde hinzugefügt, um den Speicherverbrauch beim Speichern von Flags und Zuständen zu reduzieren.

Source: opennet.ru

Kommentar hinzufügen