GTK 4.14 apresenta novos mecanismos de renderização, melhorias e muito mais

GTK4

GTK ou The GIMP Toolkit é uma biblioteca de componentes gráficos de plataforma cruzada para o desenvolvimento de interfaces gráficas de usuário.

Nesta nova versão apresentada do GTK 4.14 Novos motores de renderização unificados chamados “NGL” e “Vulkan” se destacam que fazem uso do OpenGL (GL 3.3+ e GLES 3.0+) e das APIs gráficas Vulkan. Ambos os motores Eles são baseados na API Vulkan, mas o mecanismo "NGL" apresenta uma camada de abstração separada para OpenGL que roda sobre Vulkan, levando em consideração as diferenças entre as duas APIs. Essa abordagem permitiu o uso de uma infraestrutura comum em ambos os motores para processamento de gráficos de cena, transformações, cache de texturas e glifos. A unificação também simplificou significativamente a manutenção da base de código de ambos os motores, bem como a sua atualização e sincronização.

É mencionado que Ao contrário do antigo motor "GL", que empregava um shader simples separado para cada tipo de nó de renderização e reorganizava periodicamente os dados durante a renderização fora da tela, Os novos motores usam um shader complexo (ubershader) para renderização fora da tela, interpretar os dados no buffer. As características distintivas dos novos motores incluem anti-aliasing, que permite preservar detalhes finos e obter contornos mais suaves, formação de gradiente arbitrária, que suporta qualquer número de cores e anti-aliasing, e escala fracionária. O novo mecanismo de renderização “NGL” está habilitado por padrão, assim como o suporte para a API gráfica Vulkan. Ao integrar a configuração padrão, agora é necessário suporte para Vulkan 1.3.

Outra das mudanças que se destacam no GTK 4.14 é o Biblioteca GSK (GTK Scene Kit), que oferece a capacidade de renderizar cenas gráficas via OpenGL e Vulkan, viu melhorias significativas relacionadas à renderização de fontes, dicas de ferramentas e uso de valores de escala não inteiros ao exibir texto. A suavização de contorno de glifos foi implementada durante a rasterização para melhorar a clareza em telas de baixa resolução, bem como o posicionamento de subpixels de glifos ao fazer sugestões. A qualidade da renderização da fonte também foi melhorada em valores de escala não inteiros, como 125%. Além disso, foi adicionado suporte para despejar itens de cache para glifos e texturas, o que melhorou a eficiência do cache de glifos.

Além disso, Foi adicionado suporte para "Path" ao GTK, permitindo que formas e áreas sejam desenhadas usando uma sequência de linhas ou curvas de Bézier cúbicas e quadráticas. Para desenhar com caminhos, vários objetos foram introduzidos no GTK, como GskPath para definir parâmetros para linhas ou curvas, GskPathBuilder para criar curvas, GskPathPoint para definir um ponto em uma forma e GskPathMeasure para fazer medições como o comprimento de um caminho. .

Por outro lado, a biblioteca GDK, que atua como uma camada entre GTK e o subsistema gráfico, ampliou seu suporte ao mecanismo DMA-BUF, é mencionado que este mecanismo permite a utilização de buffers de nível de kernel endereçados por um descritor , que permite a transferência direta de dados entre subsistemas do kernel sem a necessidade de copiá-los. No contexto do GTK, o suporte para DMA-BUF é usado para minimizar as operações de cópia de dados de pixel durante a composição e ao trabalhar com vídeo. Por exemplo, o vídeo pode ser gravado usando um decodificador de hardware em dmabuf, depois anexado a uma superfície Wayland e finalmente passado para um gerenciador de composição para exibição na tela sem cópias adicionais de dados.

Há também melhorias significativas para pessoas com deficiência relacionadas à exibição de texto formatado de forma complexa, à operação do WebKitGTK e à exibição de notificações.

Do outras mudanças que se destacam desta nova versão:

  • O suporte para especificações ARIA foi melhorado e a interface GtkAccessibleText foi adicionada para usar recursos de acessibilidade em widgets de texto de terceiros.
  • A interface GtkText ampliou seu suporte ao protocolo AT-SPI, permitindo a interação com leitores de tela.
  • A classe GtkPrintDialog foi adicionada para gerar caixas de diálogo de impressão e fornecer uma API assíncrona que pode ser usada em vez de GtkPrintOperation.
  • Este widget atualizou os dados do Emoji e agora oferece a possibilidade de pesquisar em diferentes idiomas, levando em consideração diferentes localidades.
  • O rastreamento das alterações do usuário no widget GtkEntry foi aprimorado, facilitando a implementação da operação de desfazer.
  • Abertura acelerada da caixa de diálogo de seleção de arquivo no widget GtkFileChooser para melhorar a experiência do usuário.
  • O inspetor GTK agora fornece visualização de informações sobre OpenGL, subsuperfícies e FPS para facilitar a depuração e análise de desempenho.
  • O utilitário gtk4-node-editor agora possui suporte de gravação automática para maior conveniência ao trabalhar com nós e edições complexas.

Se você estiver interessado em saber mais sobre isso, você pode consultar os detalhes em o seguinte link.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.