Was ist eine Anzeigeliste?
Eine Anzeigeliste in Computergrafiken ist eine Folge von Befehlen, die bei ihrer Ausführung Anweisungen zum Zeichnen eines Objekts auf dem Bildschirm oder einem anderen Ausgabegerät enthalten. Der Zweck der Verwendung einer Anzeigeliste besteht darin, die Geschwindigkeit und Effizienz der gerenderten Szenen zu erhöhen und die Lesbarkeit des Programmierquellcodes zu verbessern. Verschiedene Arten von Software und Hardware verwenden eine Anzeigeliste, um Objekte anzuzeigen, einschließlich vektorbasierter Grafikbearbeitungssoftware, einiger Spielkonsolensysteme und bestimmter Computergrafikbibliotheken. Ein Aspekt der Verwendung einer Anzeigeliste, der für bestimmte Anwendungen möglicherweise nicht durchführbar ist, ist die Tatsache, dass Anweisungen, die zu einer Liste hinzugefügt wurden, nicht geändert werden können. Dies bedeutet, dass das Objekt, das die Befehlsliste darstellt, jedes Mal genau gleich bleiben muss gerendert.
Eine wichtige Verwendung für eine Anzeigeliste besteht darin, zu verhindern, dass die Grafikverarbeitungseinheit (GPU) in einem Computer jedes Mal, wenn eine Szene auf das Ausgabegerät gezogen wird, dieselbe Abfolge von Berechnungen ausführen muss. Indem Sie einer Liste Grafikbefehle hinzufügen und dann die Software anweisen, die die Liste zum Kompilieren der Befehle verwendet, werden alle Berechnungen für die Anzeige ausgeführt und im Speicher gespeichert. Dies bedeutet, dass die meisten Berechnungen bereits bei jedem Zeichnen des Objekts ausgeführt wurden. Wenn ein Objekt innerhalb einer einzelnen Szene mehrmals gezeichnet werden muss, kann dies mithilfe einer einzelnen Anzeigeliste viel schneller erfolgen.
Es gibt verschiedene Funktionen, die eine Anzeigeliste ausführen kann, wenn alle Befehle geladen wurden. Für ein Objekt, das ein Bild als Textur verwendet, können die ursprüngliche Farbtiefe und andere Eigenschaften des Bildes in das für die Auflösung und die verwendete Grafikkarte erforderliche Format übersetzt werden. Oberflächenmaterialien, insbesondere wenn sie geschichtet sind, können im Voraus berechnet werden, was beim endgültigen Rendern viel Zeit spart. Zusätzlich zu anderen Berechnungen, die vor dem Rendern durchgeführt wurden, können die kompilierten Listeninformationen im Speicher der Grafikkarte statt in einem separaten Computerspeicher oder virtuellen Speicher gespeichert werden. Wenn die für die GPU erforderlichen Informationen auf derselben physischen Hardwarekarte gespeichert sind, kann sich die Rendering-Geschwindigkeit erhöhen, da die Übertragung zum Prozessor erheblich beschleunigt wird.
Der Nachteil bei der Verwendung einer Anzeigeliste ist, dass die Berechnungen irgendwo gespeichert werden müssen. Das bedeutet, dass beim Erstellen vieler Listen möglicherweise viel mehr Computerspeicher benötigt wird, als ansonsten erforderlich wäre. Dies kann an der Anzahl der Polygone liegen, die ein Objekt benötigt, oder an der Größe eines Bildes, das in den Texturspeicher eingefügt werden soll. Bei komplexen Szenen kann die Größe der Listen den verfügbaren Speicher überschreiten und die Leistung der Grafikkarte beeinträchtigen.