Le Ray Tracing Linux sur AMD, ça avance... lentement |
————— 31 Juillet 2021 à 10h02 —— 17884 vues
Le Ray Tracing Linux sur AMD, ça avance... lentement |
————— 31 Juillet 2021 à 10h02 —— 17884 vues
Si vous voulez bénéficier du Ray Tracing sous Linux, il n’y a pas cinquante mille solutions : une carte NVIDIA, Proton et un jeu compatible. En effet, les verts sont pour le moment les seuls à avoir fourni un pilote compatible RT, ce qui se traduit sous Linux par le support des extensions Vulkan (VK_KHR_ray_tracing)
- alors même que les pilotes rouges sont libre et donc, théoriquement, plus accessibles. Une preuve de plus que le travail ne se fait pas tout seul et que, libre ou pas libre, il faut bien in fine mettre des ressources pour que le projet avance.
Cependant, le back-end RT de RADV - sous-système concernant Vulkan pour les cartes d’AMD au sein du composant système Mesa - est désormais capable de calculer correctement des images à la raie tracée, comme l’indique le rendu de Quake 2 RTX ci-dessous.
La précédente implémentation, partielle, menait à de nombreux artéfacts : c’est désormais terminé !
En effet, c’est par le blog d’un développeur du projet, répondant au nom de Bas Nieuwenhuizen — Néerlandais, si vous vous posiez la question — que nous proviennent des informations sur l’état d’avancement des choses : tout se passe relativement bien... mais les performances sont encore catastrophiques faute d’optimisation. Le gus communique sur la moitié des performances observées sous Windows, déjà peu élevées par rapport à la remarquable efficacité des RT Cores 2.0 d’Ampere. Il faut dire que l’intégration du RT d’AMD ne permet que de calculer l’intersection d’un rayon avec un triangle ou une combinaison de structures fortement ordonnés par rapport aux axes (Axis-Aligned Bounding Box), ce qui n’est pas suffisant pour faire tourner toutes les extensions Vulkan. Par conséquent du code supplémentaire a dû être rédigé afin que ces dernières soient correctement prises en charge. Rajoutez que l’algorithme utilisé pour construire l’arbre hiérarchique des volumes, le fameux BVH, est le plus simple possible, menant à une implémentation plus aisée au détriment des performances, et que l’implémentation même de son parcours n’est pas non plus la plus efficace du fait d’une gestion perfectible de la mémoire locale (LDS) menant à un parallélisme réduit.
Si tout cela demeure encore du domaine du travail préliminaire, un merge avec la version release est prévu à court terme, pour le plus grand bonheur des linuxiens joueurs. Reste à voir ce qu’il en sera au niveau du travail d’optimisation, souvent plus fastidieux encore que l’implémentation bête et méchante. (Source : Bas Nieuwenhuizen)
Un poil avant ?Papa, dessine-moi un socket AM5 ! | Un peu plus tard ...3DFX de retour ! Sauf grosse blague de mauvais goût... |