Wayland'ı temel alan kompozit sunucular geliştirmeye yönelik bir kütüphane olan Louvre 1.2'nin yeni sürümü

Louvre 1.2.0 kütüphanesi artık kullanıma sunuldu ve Wayland protokolüne dayalı kompozit sunucular geliştirmek için bileşenler sağlıyor. Kütüphane, grafik arabelleklerinin yönetimi, Linux'taki giriş alt sistemleri ve grafik API'leri ile etkileşim dahil olmak üzere tüm düşük seviyeli işlemlerle ilgilenir ve ayrıca Wayland protokolünün çeşitli uzantılarının hazır uygulamalarını sunar. Louvre tabanlı bir kompozit sunucu, Weston ve Sway'e kıyasla önemli ölçüde daha az kaynak tüketir ve daha yüksek performans gösterir. Kod C++ dilinde yazılmıştır ve GPLv3 lisansı altında dağıtılmaktadır. Louvre'un yeteneklerine genel bir bakış, projenin ilk sürümünün duyurusunda okunabilir.

Yeni sürümde:

  • Ölçeği artırırken kenar yumuşatma bozulmalarını azaltmak için tamsayı olmayan ölçek değerlerinin (kesirli ölçek) ayarlanması ve aşırı örnekleme (aşırı örnekleme) desteği eklendi. Kesirli ölçeklendirme için Wayland protokolü kesirli ölçek kullanılır.
  • Yırtılma kontrol protokolünü kullanarak, tam ekran uygulamalarda yırtılmaya karşı koruma sağlamak için kullanılan dikey sönümleme darbesiyle dikey senkronizasyonu (VSync) devre dışı bırakmak mümkündür. Multimedya uygulamalarında, yırtılma nedeniyle oluşan bozulmalar istenmeyen bir etkidir, ancak oyun programlarında, bunlarla uğraşmanın ek gecikmelere neden olması halinde, bozulmalar tolere edilebilir.
  • Wayland protokolü wlr-gamma-control kullanılarak gama düzeltmesi desteği eklendi.
  • İstemcinin sunucu tarafında ölçeklendirme ve yüzey kenarı düzeltme eylemleri gerçekleştirmesine olanak tanıyan Wayland "görüntüleyici" protokolü için destek eklendi.
  • Doku alanlarının yüksek hassasiyetle çizilmesi ve dönüşümlerin uygulanması için LPainter sınıfına yöntemler eklenmiştir.
  • LTextureView sınıfı, kaynak dikdörtgenler (“source rect”, görüntüleme için dikdörtgen bir alan) ve dönüşümler için destek sağlar.
  • Bayrakları ve durumları saklarken bellek tüketimini azaltmak için LBitset sınıfı eklendi.

Kaynak: opennet.ru

Yorum ekle