Skip to main content

O que é uma lista de exibição?

Uma lista de exibição em computação gráfica é uma sequência de comandos que, quando executados, fornecem instruções sobre como desenhar um objeto na tela ou outro dispositivo de saída. O objetivo de usar uma lista de exibição é aumentar a velocidade e a eficiência das cenas renderizadas, além de facilitar a leitura do código fonte da programação. Vários tipos de software e hardware usam uma lista de exibição para mostrar objetos, incluindo software de edição de gráficos baseados em vetores, alguns sistemas de console de jogos e determinadas bibliotecas de gráficos de computador. Um aspecto do uso de uma lista de exibição que pode inviabilizar certos aplicativos é o fato de que, depois que as instruções são adicionadas a uma lista, elas não podem ser modificadas, o que significa que o objeto que a lista de comandos representa deve permanecer exatamente o mesmo sempre que for prestados.

Um uso importante para uma lista de exibição é impedir que a unidade de processamento gráfico (GPU) de um computador precise executar a mesma sequência de cálculos sempre que uma cena é desenhada para o dispositivo de saída. Adicionando comandos gráficos a uma lista e instruindo o software que está usando a lista para compilar os comandos, todos os cálculos de exibição são executados e armazenados na memória. Isso significa que a maioria dos cálculos já foi realizada toda vez que o objeto é desenhado. Quando um objeto deve ser desenhado várias vezes em uma única cena, isso pode ser feito muito mais rapidamente usando uma única lista de exibição.

Existem várias funções que uma lista de exibição pode executar depois que todos os comandos foram carregados. Para um objeto que está usando uma imagem como textura, a profundidade de cor original da imagem e outras propriedades podem ser convertidas no formato necessário para a resolução e a placa gráfica que estão sendo usadas. Os materiais de superfície, especialmente se em camadas, podem ser calculados com antecedência, economizando uma quantidade significativa de tempo durante a renderização final. Além de outros cálculos realizados antes da renderização, as informações da lista compilada podem ser armazenadas na memória da placa gráfica em vez de na memória separada do computador ou na memória virtual. Manter as informações necessárias para a GPU armazenada na mesma placa de hardware físico pode aumentar a velocidade de renderização, pois será capaz de viajar muito mais rapidamente para o processador.

A desvantagem de usar uma lista de exibição é que os cálculos precisam ser armazenados em algum lugar. Isso significa que a criação de muitas listas poderia potencialmente usar uma quantidade muito maior de memória do computador do que seria necessário. Isso pode ser devido ao número de polígonos exigidos por um objeto ou pelo tamanho de uma imagem a ser colocada na memória de textura. Para cenas complexas, o tamanho das listas pode exceder a quantidade de memória disponível e afetar o desempenho da placa gráfica.