Nova versão do Louvre 1.2, uma biblioteca para desenvolvimento de servidores compostos baseados em Wayland

Já está disponível a biblioteca Louvre 1.2.0, que fornece componentes para o desenvolvimento de servidores compostos baseados no protocolo Wayland. A biblioteca cuida de todas as operações de baixo nível, incluindo gerenciamento de buffers gráficos, interação com subsistemas de entrada e APIs gráficas no Linux, e também oferece implementações prontas de várias extensões do protocolo Wayland. Um servidor composto baseado no Louvre consome significativamente menos recursos e demonstra maior desempenho em comparação com Weston e Sway. O código é escrito em C++ e distribuído sob a licença GPLv3. Uma visão geral das capacidades do Louvre pode ser lida no anúncio do primeiro lançamento do projeto.

Na nova versão:

  • Adicionado suporte para definir valores de escala não inteiros (escala fracionária) e sobreamostragem (oversampling) para reduzir artefatos de anti-aliasing ao aumentar a escala. Para escala fracionária, a escala fracionária do protocolo Wayland é usada.
  • Usando o protocolo de controle de tearing, é possível desabilitar a sincronização vertical (VSync) com um pulso de amortecimento vertical, usado para proteger contra tearing em aplicações de tela cheia. Em aplicações multimídia, os artefatos devido ao tearing são um efeito indesejável, mas em programas de jogos, os artefatos podem ser tolerados se lidar com eles causar atrasos adicionais.
  • Adicionado suporte para correção gama usando o protocolo Wayland wlr-gamma-control.
  • Adicionado suporte para o protocolo “viewporter” Wayland, que permite ao cliente realizar ações de dimensionamento e corte de bordas de superfície no lado do servidor.
  • Foram adicionados métodos à classe LPainter para desenhar áreas de textura com alta precisão e aplicar transformações.
  • A classe LTextureView fornece suporte para retângulos de origem (“source rect”, uma área retangular para exibição) e transformações.
  • Adicionada a classe LBitset para reduzir o consumo de memória ao armazenar flags e estados.

Fonte: opennet.ru

Adicionar um comentário