Zurück zum Blog
Formate

PVR-Format: Die vollständige Anleitung zur PowerVR-Texturkomprimierung

16 Min. gelesen

Das PVR-Format (PowerVR) ist das proprietäre Texturcontainerformat von Imagination Technologies, das speziell für PowerVR-GPUs entwickelt wurde und in iOS-Geräten und mobilen Plattformen weit verbreitet ist. Als natives Texturformat für iOS und viele eingebettete Systeme unterstützt PVR neben anderen Komprimierungsformaten wie ETC und ASTC auch PVRTC-Algorithmen (PowerVR Texture Compression), was es zu einer vielseitigen Wahl für die Entwicklung mobiler Spiele macht. Seine hardwarebeschleunigte Dekodierung und effiziente Speichernutzung machen es unverzichtbar für mobile Anwendungen, bei denen Leistung und Akkulaufzeit von entscheidender Bedeutung sind.

Was ist das PVR-Format?

PVR ist ein von Imagination Technologies entwickeltes Containerformat zum Speichern komprimierter Texturen, die für PowerVR-GPUs optimiert sind. Ursprünglich für mobile Grafikprozessoren entwickelt, hat sich das Format zum De-facto-Standard für iOS-Anwendungen entwickelt und wird auf allen mobilen Plattformen weitgehend unterstützt. PVR dient als Wrapper für verschiedene Texturkomprimierungsformate, insbesondere PVRTC, das eine effiziente hardwarebeschleunigte Komprimierung für mobile Geräte bietet.

Die Stärke des Formats liegt in seiner nativen Unterstützung der PVRTC-Komprimierung, die speziell für die Einschränkungen mobiler Geräte entwickelt wurde – begrenzte Speicherbandbreite, Akkuleistung und Verarbeitungskapazitäten. PVRTC bietet hervorragende Komprimierungsraten bei gleichzeitig akzeptabler Bildqualität und eignet sich daher ideal für mobile Spiele und Anwendungen, bei denen die Leistung im Vordergrund steht.

Über PVRTC hinaus können moderne PVR-Dateien auch ETC-, ASTC- und unkomprimierte Texturdaten enthalten, was sie zu einem flexiblen Container macht, der sich an verschiedene Gerätefunktionen anpassen lässt. Diese Flexibilität, kombiniert mit der umfassenden Integration in iOS-Entwicklungstools und der umfassenden Hardwareunterstützung, macht PVR zu einem unverzichtbaren Format für mobile Entwickler, die auf iOS und andere PowerVR-basierte Plattformen abzielen.

Hauptmerkmale des PVR-Formats

Hardwarebeschleunigung

Native GPU-Hardwareunterstützung für PVRTC-Formate auf PowerVR-GPUs ohne CPU-Overhead

Multiformat-Unterstützung

Unterstützt PVRTC, ETC, ASTC und unkomprimierte Formate in einem einzigen Container

Für Mobilgeräte optimiert

Speziell für die Einschränkungen mobiler Geräte und die Akkueffizienz entwickelt

Vollständige Mipmap-Unterstützung

Native Mipmap-Kettenspeicherung und effiziente Detailebenenverwaltung

Unterstützte Komprimierungsformate

Das PVR-Containerformat unterstützt mehrere Komprimierungsalgorithmen, die jeweils für unterschiedliche Anwendungsfälle optimiert sind:

PVRTC (PowerVR-Texturkomprimierung)

Proprietäres Komprimierungsformat, das speziell für PowerVR-GPUs entwickelt wurde und in den Varianten 2bpp und 4bpp verfügbar ist.

PVRTC bietet hervorragende Komprimierungsverhältnisse (4:1 bis 8:1) mit Hardwarebeschleunigung auf PowerVR-GPUs. Ideal für iOS-Anwendungen und PowerVR-basierte Mobilgeräte.

ETC (Ericsson-Texturkomprimierung)

Standardkomprimierungsformat für mobile Geräte, weithin unterstützt auf Android- und iOS-Plattformen.

ETC1 bietet RGB-Komprimierung im Verhältnis 4:1, während ETC2 Unterstützung für die Komprimierung mit Alphakanälen hinzufügt. Standardformat für die Android-Texturkomprimierung.

ASTC (Adaptive Scalable Texture Compression)

Modernes Komprimierungsformat, das mehrere Blockgrößen und Qualitätsstufen unterstützt.

ASTC bietet hervorragende Qualitäts-/Komprimierungsverhältnisse mit flexiblen Blockgrößen von 4x4 bis 12x12 Pixel. Unterstützt auf neueren iOS- und Android-Geräten.

ETC2/EAC

Erweiterte Version von ETC mit verbesserter Qualität und Alphakanal-Unterstützung.

ETC2 verbessert ETC1 mit besserer Qualität, während EAC Komprimierung für Normalmaps und Einkanaltexturen bietet.

EAC (ETC Alpha-Komprimierung)

Spezielle Komprimierung für Alpha- und Einkanal-Texturdaten.

EAC bietet eine effiziente Komprimierung für Alphakanäle und Einzelkanaltexturen wie Normal Maps oder Height Maps.

Unkomprimierte Formate

Standardmäßige unkomprimierte Formate für hohe Qualitätsanforderungen.

Unterstützung für RGB, RGBA und verschiedene unkomprimierte Formate, wenn Komprimierungsartefakte nicht akzeptabel sind.

PVR-Dateistruktur

PVR-Dateien folgen einem strukturierten Format mit drei Hauptkomponenten:

PVR-Header (52 Byte)

Enthält Dateimetadaten, Versionsinformationen, Texturabmessungen und Formatspezifikationen

Textur-Metadaten

Zusätzliche Informationen, einschließlich Mipmap-Anzahl, Oberflächenanzahl, Komprimierungsflags und Details zum Pixelformat

Komprimierte Texturdaten

Tatsächliche komprimierte Pixeldaten, organisiert nach Mipmap-Ebenen und Texturoberflächen

Details zur PVRTC-Komprimierung

PVRTC gibt es in zwei Hauptvarianten, die jeweils für unterschiedliche Qualitäts- und Größenanforderungen optimiert sind:

PVRTC 2bpp (2 Bit pro Pixel)

Höheres Komprimierungsverhältnis (8:1) bei geringerer Qualität. Geeignet für Texturen und Hintergründe mit geringen Details.

Geeignet für: Hintergrundtexturen, UI-Elemente, Oberflächen mit wenigen Details, Anwendungen mit eingeschränktem Speicher

PVRTC 4bpp (4 Bit pro Pixel)

Geringeres Komprimierungsverhältnis (4:1) bei höherer Qualität. Standardauswahl für die meisten mobilen Texturen.

Geeignet für: Charaktertexturen, detaillierte Oberflächen, Allzwecktexturen, iOS-Anwendungen

PVR-Texturentwicklungs-Workflow

Das Erstellen und Optimieren von PVR-Texturen umfasst mehrere wichtige Schritte:

1

Vorbereitung des Quellbildes

Bereiten Sie qualitativ hochwertige Quellbilder mit geeigneten Abmessungen vor (vorzugsweise Zweierpotenz für ältere Geräte).

2

Formatauswahl

Wählen Sie das geeignete Komprimierungsformat basierend auf der Zielplattform und den Qualitätsanforderungen

3

Texturkomprimierung

Verwenden Sie PVRTexTool oder ähnliche Tools, um Quellbilder in das PVR-Format zu komprimieren

4

Qualitätsoptimierung

Passen Sie die Komprimierungseinstellungen an und überprüfen Sie die Ergebnisse, um Qualität und Dateigröße in Einklang zu bringen

5

Anwendungsintegration

Integrieren Sie PVR-Dateien mit ordnungsgemäßem Laden und Fehlerbehandlung in Ihre Anwendung

Hauptvorteile des PVR-Formats

Hervorragende Komprimierung

PVRTC bietet Komprimierungsverhältnisse von 4:1 bis 8:1 mit hardwarebeschleunigter Dekodierung

Für Mobilgeräte optimierte Qualität

Speziell für mobile Betrachtungsbedingungen und Anzeigeeigenschaften entwickelt

Formatflexibilität

Unterstützt mehrere Komprimierungsformate in einem einzigen Container für umfassende Kompatibilität

Native Hardware-Unterstützung

Direkte GPU-Unterstützung auf PowerVR-basierten Geräten ohne CPU-Dekomprimierungsaufwand

iOS-Integration

Umfassende Integration mit iOS-Entwicklungstools und Erstanbieterunterstützung in Apple-Frameworks

Häufige Anwendungsfälle

iOS-Spieleentwicklung

Natives Texturformat für iOS-Anwendungen mit optimaler Leistung auf allen iOS-Geräten

Mobiles Gaming

Ideal für mobile Spiele, die auf Akkueffizienz und Leistungsoptimierung abzielen

Plattformübergreifende Spiele

Perfekt für Spiele, die sowohl iOS als auch Android mit Unterstützung für Fallback-Formate unterstützen

WebGL-Anwendungen

Unterstütztes Format für Webanwendungen, die über WebGL auf mobile Geräte ausgerichtet sind

Eingebettete Systeme

Weit verbreitet in eingebetteten Systemen und Automobildisplays mit PowerVR-GPUs

PVR im Vergleich zu anderen Formaten

Verstehen, wie PVR im Vergleich zu anderen Texturkomprimierungsformaten abschneidet:

PVR vs. DDS

PVR ist für mobile Plattformen optimiert, während DDS auf Desktop-Gaming mit BCn-Formaten abzielt

PVR vs. KTX

PVR verfügt über eine stärkere iOS-Integration, während KTX eine bessere plattformübergreifende Standardisierung bietet

PVR vs. ASTC

PVR mit PVRTC bietet eine breitere Legacy-Unterstützung, während ASTC eine bessere Qualität und Flexibilität bietet

PVR vs. ETC

PVR bietet eine bessere iOS-Unterstützung, während ETC der Android-Standard mit breiterer Hardwareunterstützung ist

Entwicklungstools und Ressourcen

PowerVR SDK

Offizielles SDK von Imagination Technologies mit umfassenden PVR-Entwicklungstools

PVRTexTool

Offizielles Tool zum Erstellen und Optimieren von PVR-Texturen mit Formatkonvertierungsfunktionen

Unity PVR-Unterstützung

Integrierte Unterstützung für PVR-Komprimierung in den Texturimporteinstellungen von Unity

Unreal Engine PVR

Unterstützung des nativen PVR-Formats in Unreal Engine für iOS und mobile Entwicklung

Arm Mali Texture-Komprimierungstool

Alternatives Tool zur PVR-Texturkomprimierung und zum Formatvergleich

Best Practices für die PVR-Entwicklung

Verwenden Sie Zweierpotenzen für optimale Kompatibilität mit älteren iOS-Geräten und GPUs

Wählen Sie PVRTC 4bpp für die meisten Texturen, es sei denn, Speicherbeschränkungen erfordern eine 2bpp-Komprimierung

Testen Sie komprimierte Texturen auf tatsächlichen Zielgeräten, um die visuelle Qualität und Leistung zu bewerten

Ziehen Sie ASTC als Alternative für neuere iOS-Geräte in Betracht, wenn eine höhere Qualität erforderlich ist

Verwenden Sie geeignete Mipmap-Einstellungen, um die Leistung bei unterschiedlichen Betrachtungsabständen zu optimieren

Validieren Sie PVR-Dateien auf der Zielhardware frühzeitig in der Entwicklung, um Kompatibilitätsprobleme zu vermeiden

Berücksichtigen Sie die Gerätefunktionen, wenn Sie zwischen PVRTC-, ETC- und ASTC-Komprimierung wählen

Migration und moderne Alternativen

Berücksichtigen Sie bei neuen Projekten diese Migrationspfade und modernen Alternativen:

Migration von ASTC zu PVR

Verwenden Sie PVRTexTool, um ASTC-Texturen in PVRTC zu konvertieren, um die Kompatibilität mit älteren iOS-Geräten zu gewährleisten

Migration von ETC zu PVR

Konvertieren Sie ETC-Texturen in das PVRTC-Format für iOS-spezifische Optimierung und bessere Integration

Migration von DDS zu PVR

Verwenden Sie Texturkonvertierungstools, um Desktop-Texturen in das für Mobilgeräte optimierte PVR-Format zu migrieren

Übergang zu modernen Formaten

Erwägen Sie ASTC für neue Projekte, die auf neuere Geräte abzielen, und behalten Sie PVR als Ausweichoption bei

Abschluss

Das PVR-Format bleibt ein wesentliches Werkzeug bei der Entwicklung mobiler Spiele, insbesondere für iOS-Anwendungen und PowerVR-basierte Geräte. Seine hardwarebeschleunigte PVRTC-Komprimierung bietet eine hervorragende Balance zwischen visueller Qualität und Leistung für mobile Plattformen, bei denen Akkulaufzeit und Rendering-Effizienz entscheidend sind.

Während neuere Formate wie ASTC eine bessere Qualität und Flexibilität bieten, ist PVR aufgrund seiner Legacy-Unterstützung, iOS-Integration und bewährten Leistung eine zuverlässige Wahl für mobile Entwickler. Um mobile Anwendungen zu optimieren und das beste Benutzererlebnis über verschiedene Geräteökosysteme hinweg zu gewährleisten, ist es wichtig zu verstehen, wann und wie das PVR-Format verwendet wird.

Weiterführende Literatur und Ressourcen

Erweitern Sie Ihr Wissen mit diesen maßgeblichen Ressourcen:

Probieren Sie unsere Tools aus