Mit der 3D Analyst-Lizenz verfügbar.
3D-Objekte mit Textur sind Features, die eine 3D-Geometrie und 3D-Bilddaten für jede sichtbare Fläche enthalten. Beispiele für 3D-Objekte mit Textur: Gebäude, Flugzeuge, Stadtmöblierung und Fahrzeuge. Sie werden in der Regel zur Erzeugung von fotorealistischen 3D-Ansichten verwendet. In ArcGIS werden 3D-Objekte als Multipatch-Features gespeichert.
Bei Verwendung von Multipatch-Features mit Textur in ArcScene verlangsamt sich häufig die 3D-Navigation. Dieses Problem kann sich noch verschlimmern, wenn eine Multipatch-Feature-Class viele Features mit Textur oder sehr große Texturen (z. B. mit über 1.024 Pixeln pro Fläche) enthält.
Die Nachteile der Verwendung von 3D-Objekten mit Textur in ArcScene lassen sich auf zweierlei Weise abmildern: Zum einen durch Komprimierung von Texturen; dies ist eine systemeigene Funktion von Grafikkarten; zum anderen durch Reduzierung der Auflösung von Texturen in Multipatch-Features. Beide Lösungen verringern die Speicherauslastung und optimieren die Echtzeitnavigation.
Weitere Informationen über die Einstellung von Anzeigeeigenschaften für Multipatch-Layer mit Textur finden Sie unter Symbolisieren von Multipatches.
Texturen und Speicher
Zum Rendern von Texturen wird sowohl der Hauptspeicher (RAM) als auch der Texturspeicher der Grafikkarte verwendet. Texturen werden zunächst in den Hauptspeicher geladen und dann zum Rendern an die Grafikkarte gesendet. Bei Auslastung des Texturspeichers der Grafikkarte lagert das Betriebssystem Daten auf die Festplatte aus, was einen deutlichen Abfall der Performance zur Folge hat. Das bedeutet im Umkehrschluss, dass eine geringere Speicherauslastung (RAM und Texturspeicher der Grafikkarte) die Performance der Anwendung erhöht und somit größere Datasets geladen werden können.
Hardwareunterstützte Texturkomprimierung
Die hardwareunterstützte Texturkomprimierung macht sich die Tatsache zunutze, dass 3D-Grafikkarten standardmäßig komprimierte Texturen unterstützen, um die Performance beim Rendern von 3D-Objekten mit Textur zu erhöhen.
Material-Texturen werden im komprimierten JPEG-Format dauerhaft auf der Festplatte gespeichert. Während des Ladevorgangs werden die JPEG-Texturen entpackt und unter Nutzung des Grafikspeichers zum Rendern an die Grafikkarte gesendet. Da Grafikkarten das JPEG-Format standardmäßig nicht unterstützen, führt das Entpacken der Texturen zu Performance-Einbußen. Zudem kann der Platzbedarf von dekomprimierten Texturen im Speicher um ein Vielfaches höher liegen als der von (im JPEG-Format) komprimierten Texturen auf der Festplatte.
Grafikkarten unterstützen verschiedene Formate für die Texturkomprimierung. Diese werden aktuell über OpenGL-Erweiterungen bereitgestellt. Erweiterungen werden im Laufe der Zeit standardisiert, sodass die Texturkomprimierung bald im OpenGL-Standard enthalten sein wird. Komprimierte Texturen, die ein unterstütztes Format aufweisen, können an die Grafikkarte gesendet werden.
ArcScene kann anstelle des JPEG-Formats das von OpenGL unterstützte DXT-Format zum Komprimieren und dauerhaften Speichern von Texturen verwenden. Dadurch entfallen die Dekomprimierung und der vergrößerte Platzbedarf im RAM und im Texturspeicher. Bedenken Sie, dass sowohl JPEG als DXT verlustbehaftete Komprimierungsformate sind, und stellen Sie sich auf Einbußen in der Bildqualität ein, wenn Sie komprimierte Texturen verwenden. Die Größe von JPEG-komprimierten Texturen ist von der Qualitätseinstellung abhängig, während DXT-Texturen ein festes Komprimierungsverhältnis aufweisen (1:6 für RGB und 1:4 für RGBA).
Die hardwareunterstützte Texturkomprimierung lässt sich in ArcScene auf Layer-Ebene aktivieren.
Verkleinern der Texturauflösung
Es besteht die Möglichkeit, Texturpixel (so genannte Texel), die an die Grafikkarte gesendet werden, durch Herabsetzen der Texturauflösung zu verkleinern. Eine Textur der Größe 640 x 480 lässt sich zum Beispiel auf 320 x 240 verkleinern, wodurch ihr Speicherbedarf auf ein Viertel sinkt.
Wie weit sich eine Textur ohne nennenswerte Einbußen der Anzeigequalität verkleinern lässt, ist von Textur zu Textur verschieden. Die sich wiederholende Textur eines Fensters verträgt zum Beispiel eine stärkere Verminderung der Auflösung als ein Ladenschild.
Die Texturreduktion wird als Layer-Eigenschaft angewendet und ist nur für Multipatch-Layer verfügbar. Wenn Sie die Texturreduktion auf einen Layer anwenden, wird weniger Speicher zum Rendern benötigt, sodass mehr Ressourcen für die Navigation und andere Aufgaben zur Verfügung stehen. Bei Bedarf können Sie die geringere Texturauflösung dauerhaft speichern; verwenden Sie dazu das Geoverarbeitungswerkzeug 3D-Layer in Feature-Class, um den Layer in eine neue Feature-Class zu exportieren. Wenn Sie die Standardfunktion "Daten" > "Daten exportieren" verwenden, werden die Einstellungen für die Texturreduktion nicht in die Ausgabe-Feature-Class übernommen.
Für die Texturreduktion wird die OpenGL Utility Library verwendet; diese ist auf allen Plattformen verfügbar, die ArcGIS unterstützen.