Co to jest lista wyświetlania?

Lista wyświetlania w grafice komputerowej to sekwencja poleceń, która po wykonaniu udostępnia instrukcje dotyczące rysowania obiektu na ekranie lub innym urządzeniu wyjściowym. Celem korzystania z listy wyświetlania jest zwiększenie szybkości i wydajności renderowanych scen, a także ułatwienie czytania kodu źródłowego programowania. Kilka typów oprogramowania i sprzętu używa listy wyświetlania do wyświetlania obiektów, w tym oprogramowanie do edycji grafiki wektorowej, niektóre systemy konsol do gier i niektóre biblioteki grafiki komputerowej. Jednym z aspektów korzystania z listy wyświetlania, który może uczynić ją niewykonalną dla niektórych aplikacji, jest fakt, że po dodaniu instrukcji do listy nie można ich modyfikować, co oznacza, że ​​obiekt, który reprezentuje lista poleceń, musi pozostać dokładnie taki sam za każdym razem, gdy jest renderowane.

Ważnym zastosowaniem listy wyświetlania jest zapobieganie konieczności wykonywania przez procesor graficzny (GPU) w komputerze tej samej sekwencji obliczeń za każdym razem, gdy scena jest rysowana na urządzeniu wyjściowym. Dodając polecenia graficzne do listy, a następnie instruując oprogramowanie, które korzysta z listy, kompiluje polecenia, wszystkie obliczenia do wyświetlania są wykonywane i przechowywane w pamięci. Oznacza to, że większość obliczeń została już wykonana za każdym razem, gdy obiekt jest rysowany. Gdy obiekt musi być narysowany wiele razy w ramach jednej sceny, można to zrobić znacznie szybciej, korzystając z jednej listy wyświetlania.

Istnieje kilka funkcji, które lista wyświetlania może wykonać po załadowaniu wszystkich poleceń. W przypadku obiektu, który używa obrazu jako tekstury, oryginalną głębię kolorów obrazu i inne właściwości można przetłumaczyć na format wymagany dla używanej rozdzielczości i karty graficznej. Materiały powierzchniowe, zwłaszcza warstwowe, można obliczyć z wyprzedzeniem, co pozwala zaoszczędzić znaczną ilość czasu podczas ostatecznego renderowania. Oprócz innych obliczeń wykonywanych przed renderowaniem, skompilowana lista informacji może być przechowywana w pamięci karty graficznej zamiast w oddzielnej pamięci komputera lub pamięci wirtualnej. Posiadanie informacji potrzebnych dla GPU przechowywanych na tej samej fizycznej karcie sprzętowej może zwiększyć szybkość renderowania, ponieważ będzie on mógł podróżować znacznie szybciej do procesora.

Kompromis przy korzystaniu z listy wyświetlania polega na tym, że obliczenia muszą być gdzieś przechowywane. Oznacza to, że tworzenie wielu list może potencjalnie wykorzystywać znacznie większą ilość pamięci komputera, niż byłaby potrzebna w innym przypadku. Może to być spowodowane liczbą wielokątów wymaganych przez obiekt lub rozmiarem obrazu, który ma zostać umieszczony w pamięci tekstury. W przypadku złożonych scen rozmiar list może przekroczyć ilość dostępnej pamięci i wpłynąć na wydajność karty graficznej.