Qu'est-ce qu'une liste d'affichage?
Une liste d’affichage en images de synthèse est une séquence de commandes qui, une fois exécutée, fournit des instructions sur la manière de dessiner un objet sur l’écran ou un autre périphérique de sortie. L’utilisation d’une liste d’affichage a pour but d’accroître la rapidité et l’efficacité des scènes rendues, ainsi que de faciliter la lecture du code source de la programmation. Plusieurs types de logiciels et de matériels utilisent une liste d’affichage pour afficher des objets, y compris un logiciel d’édition de graphiques vectoriels, certains systèmes de console de jeu et certaines bibliothèques d’images graphiques. L'un des aspects de l'utilisation d'une liste d'affichage qui peut rendre l'application impossible pour certaines applications est le fait que, une fois que des instructions sont ajoutées à une liste, elles ne peuvent plus être modifiées, ce qui signifie que l'objet représenté par la liste des commandes doit rester identique à chaque fois. rendu.
Une liste d’affichage est particulièrement utile pour éviter que l’unité de traitement graphique (GPU) d’un ordinateur n’ait à effectuer la même séquence de calculs à chaque fois qu’une scène est dessinée vers le périphérique de sortie. En ajoutant des commandes graphiques à une liste, puis en informant le logiciel qui l'utilise pour compiler les commandes, tous les calculs à afficher sont effectués et stockés en mémoire. Cela signifie que la plupart des calculs ont déjà été effectués chaque fois que l'objet est dessiné. Lorsqu'un objet doit être dessiné plusieurs fois dans une même scène, cela peut être fait beaucoup plus rapidement en utilisant une seule liste d'affichage.
Une liste d’affichage peut exécuter plusieurs fonctions une fois que toutes les commandes ont été chargées. Pour un objet utilisant une image en tant que texture, la profondeur de couleur d'origine de l'image et d'autres propriétés peuvent être traduites dans le format requis pour la résolution et la carte graphique utilisées. Les matériaux de surface, en particulier s'ils sont stratifiés, peuvent être calculés à l'avance, ce qui permet de gagner un temps considérable lors du rendu final. En plus des autres calculs effectués avant le rendu, les informations de la liste compilée peuvent être stockées dans la mémoire de la carte graphique plutôt que dans une mémoire d'ordinateur ou une mémoire virtuelle séparée. Le fait de disposer des informations nécessaires au GPU stockées dans la même carte matérielle physique peut augmenter la vitesse de rendu, car il sera en mesure de voyager beaucoup plus rapidement vers le processeur.
Le compromis pour utiliser une liste d'affichage est que les calculs doivent être stockés quelque part. Cela signifie que la création de nombreuses listes pourrait potentiellement utiliser une quantité de mémoire beaucoup plus grande que celle qui serait autrement nécessaire. Cela peut être dû au nombre de polygones requis par un objet ou à la taille d'une image à placer dans la mémoire de texture. Pour les scènes complexes, la taille des listes peut dépasser la quantité de mémoire disponible et affecter les performances de la carte graphique.