Zurück zum Blog
Formate

Basis Universal: Der vollständige Leitfaden zur universellen Texturkomprimierung

15 Min. gelesen

Basis Universal ist ein revolutionäres Texturkomprimierungssystem, das eine der größten Herausforderungen bei der plattformübergreifenden Grafikentwicklung löst: die Verwaltung verschiedener Texturkomprimierungsformate auf verschiedenen Plattformen und Geräten. Basis Universal wurde von Binomial LLC entwickelt und wird jetzt als Open-Source-Projekt gepflegt. Es bietet ein einzelnes komprimiertes Texturdateiformat, das zur Laufzeit in jedes native GPU-Komprimierungsformat transkodiert werden kann.

Was ist Basis Universal?

Basis Universal ist ein „superkomprimiertes“ GPU-Texturkomprimierungssystem, das hochkomprimierte Zwischentexturdateien erzeugt. Diese Dateien können zur Laufzeit schnell in jedes GPU-komprimierte Format transkodiert werden, das die Zielplattform unterstützt, einschließlich ETC1, ETC2, ASTC, BC1-7 und PVRTC.

Die wichtigste Innovation von Basis Universal ist die Fähigkeit, Texturdaten in einem plattformunabhängigen Format zu speichern und sie dann in das optimale native Format für das Zielgerät zu transkodieren. Dies bedeutet, dass Entwickler eine einzige Texturdatei bereitstellen können, die überall funktioniert, von Mobiltelefonen über Desktop-Computer bis hin zu Spielekonsolen.

Basis Universal unterstützt zwei primäre Komprimierungsmodi: ETC1S (für maximale Komprimierung) und UASTC (für höchste Qualität). Beide Modi bieten hervorragende Komprimierungsraten bei gleichzeitiger Beibehaltung der für moderne Grafikanwendungen geeigneten visuellen Qualität.

Hauptmerkmale von Basis Universal

Universelle Transkodierung

Eine einzelne komprimierte Datei kann zur Laufzeit in jedes native GPU-Format (ETC1/2, ASTC, BC1-7, PVRTC) transkodiert werden

Hohes Kompressionsverhältnis

Der ETC1S-Modus bietet außergewöhnliche Komprimierungsverhältnisse (bis zu 10:1 oder besser) bei guter visueller Qualität

UASTC-Modus

Die UASTC-Komprimierung (Universal ASTC) bietet eine Qualität, die mit den Formaten BC7 und ASTC konkurrenzfähig ist

Schnelle Transkodierung

Die Laufzeittranskodierung ist extrem schnell (normalerweise Millisekunden pro Textur) und weist einen minimalen Speicheraufwand auf

Grundlegende universelle Komprimierungsmodi

Basis Universal bietet zwei unterschiedliche Komprimierungsmodi, die jeweils für unterschiedliche Anwendungsfälle optimiert sind:

ETC1S-Modus

Bietet sehr hohe Komprimierungsverhältnisse, typischerweise 6:1 bis 10:1 Komprimierung mit guter visueller Qualität. Ideal für die meisten diffusen Texturen, UI-Elemente und Inhalte, bei denen die Dateigröße wichtiger ist als perfekte visuelle Wiedergabetreue.

Am besten geeignet für: mobile Anwendungen, Webinhalte, diffuse Texturen, UI-Elemente

UASTC-Modus

Bietet eine überlegene visuelle Qualität, die mit BC7 und ASTC vergleichbar oder besser ist, mit Komprimierungsverhältnissen von 3:1 bis 4:1. Ideal für hochdetaillierte Texturen, Normal Maps und Inhalte, bei denen die visuelle Qualität im Vordergrund steht.

Am besten geeignet für: normale Karten, Detailtexturen, Helden-Assets, PC-/Konsolenanwendungen

Basis Universeller Workflow

Der typische Basis Universal-Workflow umfasst drei Hauptphasen:

1. Quellkomprimierung

Komprimieren Sie Quelltexturen (PNG, TGA usw.) im ETC1S- oder UASTC-Modus in .basis-Dateien. Dies geschieht normalerweise während des Asset-Build-Prozesses.

2. Laufzeittranskodierung

Transkodieren Sie .basis-Dateien beim Start oder beim Laden der Anwendung in das optimale native Format für die Zielplattform (ETC2 für Android, ASTC für iOS, BC7 für Windows usw.).

3. GPU-Rendering

Nutzen Sie die transkodierten Texturdaten direkt mit der nativen Texturkomprimierungshardware der GPU und sorgen Sie so für optimale Leistung.

Vorteile von Basis Universal

Single-Asset-Pipeline

Eliminieren Sie die Notwendigkeit, mehrere Texturformatversionen für verschiedene Plattformen zu verwalten

Reduzierte Paketgröße

Deutlich kleinere Anwendungspakete im Vergleich zum Versand mehrerer Formatvarianten

Geringere Bandbreitennutzung

Schnellere Downloads und reduzierter Datenverbrauch, besonders wichtig für Web- und mobile Anwendungen

Plattformflexibilität

Zielen Sie problemlos auf neue Plattformen ab, ohne die Quelltexturen erneut zu komprimieren

Einschränkungen und Überlegungen

Transkodierungsaufwand

Erfordert eine Laufzeittranskodierung, die beim Laden der Texturen zu geringen Leistungseinbußen führt

Kompressionsverlust

Wie bei jeder verlustbehafteten Komprimierung gibt es im Vergleich zu unkomprimierten Texturen einen gewissen Qualitätsverlust

Speicheranforderungen

Die Transkodierung erfordert temporären Speicher sowohl für komprimierte als auch für transkodierte Daten

Integrationskomplexität

Erfordert die Integration von Basis Universal-Bibliotheken und Laufzeit-Transkodierungscode

Ideale Anwendungsfälle

WebGL-Anwendungen

Perfekt für webbasierte 3D-Anwendungen, bei denen die Bereitstellung einer einzelnen Datei und ein schnelles Laden von entscheidender Bedeutung sind

Plattformübergreifendes Mobilgerät

Ideal für mobile Apps für Android und iOS mit einer einzigen Texturpipeline

Web3- und Blockchain-Spiele

Hervorragend geeignet für Blockchain-basierte Spiele, bei denen Asset-Größe und Übertragungsgeschwindigkeit entscheidend sind

Multiplattform-Spiele

Vereinfacht die Asset-Verwaltung für Spiele, die auf mehrere Plattformen und App-Stores ausgerichtet sind

Basis Universal im Vergleich zu anderen Formaten

Wie Basis Universal im Vergleich zu herkömmlichen Ansätzen abschneidet:

Traditioneller Ansatz

Versenden Sie mehrere Formatvarianten (ETC2 für Android, ASTC für iOS, BC7 für Windows) → Größere Paketgröße, komplexe Asset-Pipeline

Basis Universeller Ansatz

Versenden Sie einzelne .basis-Dateien → Laufzeittranskodierung in optimales Format → Kleinere Pakete, einfachere Pipeline

Lagerung: Reduzierung des Texturspeicherbedarfs um 50–80 %

Bandbreite: 50–90 % Reduzierung der Download-Bandbreite

Build-Zeit: Schnellere Builds mit einem einzigen Komprimierungsschritt

Qualität: Vergleichbare visuelle Qualität mit nativen Formaten

Best Practices

  • Verwenden Sie den ETC1S-Modus für die meisten diffusen Texturen und UI-Elemente, bei denen die Dateigröße wichtig ist
  • Verwenden Sie den UASTC-Modus für normale Karten, Detailtexturen und Hero-Assets, bei denen die visuelle Qualität entscheidend ist
  • Transkodieren Sie Texturen beim Laden von Assets und nicht beim Start der Anwendung, um Blockierungen zu vermeiden
  • Berücksichtigen Sie die Komprimierungsformate der Zielplattform, wenn Sie zwischen den Modi ETC1S und UASTC wählen
  • Testen Sie transkodierte Texturen auf Zielplattformen, um sicherzustellen, dass die visuelle Qualität den Anforderungen entspricht
  • Transkodierte Texturen sollten nach Möglichkeit zwischengespeichert werden, um eine wiederholte Transkodierung derselben Assets zu vermeiden

Abschluss

Basis Universal stellt einen bedeutenden Fortschritt in der Texturkomprimierungstechnologie dar und löst das seit langem bestehende Problem der Verwaltung mehrerer Texturformate auf verschiedenen Plattformen. Sein universeller Transkodierungsansatz bietet sowohl technische als auch geschäftliche Vorteile, von reduzierten Paketgrößen bis hin zu vereinfachten Asset-Pipelines.

Für plattformübergreifende Anwendungen, webbasierte Erlebnisse und Szenarien, in denen Downloadgröße und Bandbreite entscheidend sind, bietet Basis Universal eine überzeugende Lösung, die keine Kompromisse bei der visuellen Qualität oder Leistung eingeht. Da sich die Grafikbranche weiterhin in Richtung plattformübergreifender Entwicklung bewegt, werden Tools wie Basis Universal für ein effizientes Texturmanagement immer wichtiger.

Weiterführende Literatur und Ressourcen

Erweitern Sie Ihr Wissen mit diesen maßgeblichen Ressourcen:

Probieren Sie unsere Tools aus