Nouvelle version de Louvre 1.2, une bibliothèque de développement de serveurs composites basée sur Wayland

La bibliothèque Louvre 1.2.0 est disponible, fournissant des composants pour développer des serveurs composites basés sur le protocole Wayland. La bibliothèque prend en charge toutes les opérations de bas niveau, y compris la gestion des tampons graphiques, l'interaction avec les sous-systèmes d'entrée et les API graphiques sous Linux, et propose également des implémentations prêtes à l'emploi de diverses extensions du protocole Wayland. Un serveur composite basé sur Louvre consomme beaucoup moins de ressources et démontre des performances supérieures à celles de Weston et Sway. Le code est écrit en C++ et distribué sous licence GPLv3. Un aperçu des capacités du Louvre peut être lu dans l'annonce de la première version du projet.

Dans la nouvelle version:

  • Ajout de la prise en charge de la définition de valeurs d'échelle non entières (échelle fractionnaire) et du suréchantillonnage (suréchantillonnage) pour réduire les artefacts liés à l'anticrénelage lors de l'augmentation de l'échelle. Pour la mise à l'échelle fractionnaire, l'échelle fractionnaire du protocole Wayland est utilisée.
  • Grâce au protocole de contrôle du déchirement, il est possible de désactiver la synchronisation verticale (VSync) avec une impulsion d'amortissement verticale, utilisée pour protéger contre le déchirement dans les applications plein écran. Dans les applications multimédias, les artefacts dus au déchirement constituent un effet indésirable, mais dans les programmes de jeux, les artefacts peuvent être tolérés si leur traitement entraîne des retards supplémentaires.
  • Ajout de la prise en charge de la correction gamma à l'aide du protocole Wayland wlr-gamma-control.
  • Ajout de la prise en charge du protocole Wayland « viewporter », qui permet au client d'effectuer des actions de mise à l'échelle et de découpage des bords de surface côté serveur.
  • Des méthodes ont été ajoutées à la classe LPainter pour dessiner des zones de texture avec une grande précision et appliquer des transformations.
  • La classe LTextureView prend en charge les rectangles sources (« source rect », une zone rectangulaire pour l'affichage) et les transformations.
  • Ajout de la classe LBitset pour réduire la consommation de mémoire lors du stockage des indicateurs et des états.

Source: opennet.ru

Ajouter un commentaire