Nouveaux renderers pour GTK
(blog.gtk.org)Nouveaux renderers pour GTK
- Deux nouveaux renderers pour GL et Vulkan ont été ajoutés à GTK.
- Ils reprennent les noms existants,
ngletvulkan. - Ils sont construits à partir de la même source et sont aussi appelés renderers « unifiés ».
Source unique
- Les deux renderers sont construits à partir de la même source et conçus selon un modèle conforme à l’API Vulkan.
- Ils incluent des abstractions pour couvrir les différences entre Vulkan et GL.
- Cela permet de partager l’infrastructure, comme le parcours du graphe de scène, la conservation des transformations, ainsi que les caches de textures et de glyphes.
- Une extension vers un renderer basé sur Metal sur macOS ou sur DirectX sous Windows est possible.
Détails d’implémentation
- L’ancien renderer GL utilise des shaders simples et s’appuie sur le rendu hors écran pour les contenus complexes.
- Le renderer unifié dispose de shaders par nœud et utilise, au lieu du hors écran, des shaders plus complexes qui interprètent les données dans des buffers.
- Le renderer unifié est moins optimisé, mais il met l’accent sur la précision et la maintenance, ce qui lui permet de traiter correctement une plus grande variété d’arbres de nœuds de rendu.
Nouvelles fonctionnalités
- Anticrénelage : l’ancien renderer GL avait tendance à perdre des détails, ce que le renderer unifié améliore grâce à l’anticrénelage.
- Mise à l’échelle fractionnaire : le renderer unifié peut gérer correctement les échelles fractionnaires.
- Dégradés arbitraires : le renderer unifié peut gérer des dégradés avec un nombre illimité de points d’arrêt de couleur.
- Dmabufs : le renderer Vulkan peut créer des dmabufs lors de la création de textures via l’API
render_texture.
Points à noter
- Les nœuds
glshaderne sont plus pris en charge. - Positions fractionnaires : le nouveau renderer place les objets à leur position exacte.
- Problèmes de pilotes : le nouveau renderer utilise les pilotes graphiques d’une manière nouvelle et différente, ce qui peut provoquer des problèmes.
Est-ce plus rapide ?
- Pour l’instant, le nouveau renderer n’est pas plus rapide.
- L’ancien renderer GL est optimisé pour la vitesse, tandis que le nouveau renderer apporte de nouvelles fonctionnalités et une meilleure précision.
- Le renderer Vulkan affiche, dans des benchmarks non officiels, des performances comparables à celles de l’ancien renderer GL.
Nouvelle valeur par défaut
- Dans le snapshot 4.13.6 récemment publié, le renderer
ngla été défini comme nouvelle option par défaut. - Il s’agit d’une mesure expérimentale, et il est possible de revenir à l’ancien renderer GL en cas de problème.
Plans futurs et possibilités
- Le nouveau renderer constitue une bonne base pour mettre en œuvre une gestion correcte des couleurs, y compris le HDR, le path rendering sur GPU, le rendu hors du thread principal, ainsi que des améliorations de performances.
Résumé
- Le nouveau renderer propose des fonctionnalités intéressantes, et d’autres doivent encore être ajoutées.
- Il est demandé d’essayer le nouveau renderer et de faire des retours sur son fonctionnement.
Opinion de GN⁺
- Le nouveau renderer représente une avancée importante en offrant aux développeurs des options de rendu plus précises et plus variées.
- L’approche unifiée entre Vulkan et GL a le potentiel d’améliorer la compatibilité du rendu sur diverses plateformes à l’avenir.
- Ces avancées techniques contribueront à améliorer l’expérience utilisateur et à renforcer la qualité visuelle des applications.
1 commentaires
Commentaires Hacker News
wgpu.rspermet d’obtenir gratuitement DirectX et Metal.