Nvidia Ntc Bc Comparaison

Face à l'augmentation de la taille des textures, il reste encore de la place pour améliorer la compression et la qualité en plus ! Voici les travaux de NVIDIA

Même si la qualité des textures a augmenté depuis ces dernières années, il reste du chemin à parcourir. Il y a longtemps, lorsque vous approchiez le nez d'un mur, les textures devenaient toutes baveuses. Ce phénomène s'est atténué grandement au gré des années, mais la qualité reste encore perfectible. Il suffit de voir le travail des moddeurs sur cet item précis pour voir à quel point les développeurs ont de la marge de progression. Seul souci, cela prend du temps à développer, et il y a donc un compromis à faire entre qualité et "poids" des textures.

NVIDIA a mis au point un algorithme qui résout cette équation, nommé Neural Texture Compression, ou NTC. Il vient en choc frontal avec la méthode classique Block Compression ou BC. Cet algo, efficace dans la compression des textures et paramétrable selon plusieurs niveaux de qualité, permettrait, selon ses auteurs, d'avoir une texture comportant 16 fois plus de texels tout en occupant la même taille, voire moins. Cette méthode de compression de textures NTC s'accompagne, lorsque la carte en a besoin et doit afficher la texture, d'une décompression qui doit être toute aussi rapide que la BC. Cette dernière se veut en temps réel avec un accès aléatoire identique à la BC. D'ailleurs le temps mesuré sur RTX 4090 est de 1.15 ms NTC contre 0.49 ms BC. C'est quand même très rapide, et surtout, la qualité s'en trouve améliorée. Voilà comment NVIDIA décrit son idée :

L'idée clé derrière notre approche est de compresser plusieurs textures matérielles et leurs chaînes mipmap ensemble, et d'utiliser un petit réseau de neurones, qui est optimisé pour chaque matériau, pour les décompresser. Enfin, nous utilisons une implémentation de formation personnalisée pour atteindre des vitesses de compression pratiques, dont les performances dépassent celles des frameworks généraux, comme PyTorch, d'un ordre de grandeur.

Cependant, même si l'expression "réseau de neurones" est utilisée, laissant entendre qu'il faudrait une carte bénéficiant d'unités dédiées en calcul matriciel comme les Tensor Cores des RTX, la méthode devrait marcher chez tous les GPU modernes qui possèdent ce genre de faculté. AMD a implémenté des Matrix Accelerator dans ses cartes RDNA 3, ce qui les rend compatibles avec la NTC.

Nous aurons plus de détail lors du SIGGRAPH 2023 qui débutera le dimanche 6 août prochain. Pour ceux qui veulent avoir accès au PDF complet de 44 Mo, c'est en dessous que ça se passe !

Accédez au PDF !

M Galonnier


  • C'est bien chouette pour réduire un peu le poids de nos AAA, mais il va falloir un peu d'adaptation pour que ça soit utilisable, car il est impensable de penser stocker ces textures sous formes compressées sur GPU... Il faudra donc les décompresser lors des temps de chargement, ce qui risque de prendre du temps ; à voir en pratique si l'opération se révèle négligeable ou non !

3 commentaires

Laissez votre commentaire

En réponse à Some User