Zuletzt aktualisiert: 21. Sep., 2026

Bilddateiformate für Spieleentwickler: DDS, TGA, PNG und KTX
In der Spieleentwicklung machen Texturen den größten Teil sowohl des Laufzeitspeichers als auch der Installationsgröße aus. Egal, ob Sie ein Indie‑Stylized‑Plattformspiel entwickeln oder Photorealismus in einem AAA‑Open‑World‑RPG vorantreiben, wie Sie Texturdaten speichern, verarbeiten und einbinden, bestimmt direkt Ihre Bildwiederholraten, Ladezeiten und Hardwarekompatibilität.
Ein häufiger Anfängerfehler besteht darin, Spieltexturen wie Webgrafiken zu behandeln – man geht davon aus, dass eine leichtgewichtige Datei auf der Festplatte zu einer leichtgewichtigen Leistung in der Spiel‑Engine führt. In der GPU‑Welt ist die Laufzeitrealität jedoch völlig anders.
In diesem Deep‑Dive zerlegen wir die vier wichtigsten Textur‑ und Bilddateiformate in der modernen Spieleentwicklung: DDS, TGA, PNG und KTX. Wir werden untersuchen, wie sie funktionieren, wo sie in die Asset‑Pipeline passen und wann jedes einzelne zu verwenden ist.
Die goldene Regel: Festplattenspeicher vs. Videospeicher (VRAM)
Bevor einzelne Formate analysiert werden, müssen Entwickler den grundlegenden Unterschied zwischen Festplattenkompression und GPU‑Hardware‑Blockkompression verstehen.
1. Festplattenkompression (PNG, JPEG, WebP)
Formate wie PNG verwenden verlustfreie Entropiekodierung (DEFLATE). Während PNG enorme Mengen an Speicherplatz auf einer SSD oder einem Download‑Server spart, können moderne GPUs PNG‑Dateien nicht direkt sampeln. Wenn Ihre Spiel‑Engine ein PNG lädt:
- Die CPU muss die Datei in rohe, unkomprimierte 32‑Bit‑RGBA‑Pixel im Systemspeicher dekomprimieren.
- Das unkomprimierte Bitmap wird in den VRAM hochgeladen.
- Eine 2048×2048‑Textur verbraucht etwa 16 MB VRAM, unabhängig davon, ob das PNG 1 MB oder 3 MB auf der Festplatte war.
2. GPU-Blockkompression (BCn, ASTC, ETC2)
Dedizierte GPU‑Formate komprimieren feste Pixelblöcke (typischerweise 4×4‑Pixel‑Blöcke) in kleinere Bitdarstellungen. Die Grafik‑Hardware greift diese Blöcke direkt im VRAM ab, ohne CPU‑seitige Dekompression:
- Direkter zufälliger VRAM‑Zugriff ohne Laufzeit‑Dekompressions‑Overhead.
- Die gleiche 2048×2048‑Textur mit BC7/ASTC verbraucht nur etwa 4 MB VRAM (eine Reduktion von 75 %).
- Mipmaps können direkt in die Container‑Datei eingebettet werden.
Container wie DDS und KTX werden speziell entwickelt, um diese GPU‑nativen Formate zu verpacken, während PNG und TGA früher in der Pipeline unterschiedliche Rollen übernehmen.
1. DDS (DirectDraw-Oberfläche)
Von Microsoft zusammen mit DirectX 7 eingeführt, ist das DirectDraw Surface (.dds)-Format das unbestrittene Arbeitspferd der Branche für PC-, Xbox- und Konsolenspielentwicklung.
Technische Merkmale
- Container-Typ: Native GPU-Texturcontainer.
- Unterstützte Kompression: BC1 bis BC7 (Block Compression / DXT-Familie), unkomprimiertes RGBA, Float-Formate (BC6H für HDR).
- Wichtige Fähigkeiten: Vorgebackene Mipmaps, Cube-Maps, Textur-Arrays, Volumen- (3D-) Texturen.
Warum Entwickler DDS verwenden
DDS ist im Wesentlichen ein direkter Speicher-Dump dessen, was die Grafikhardware benötigt. Beim Laden einer DDS-Textur mit vorab generierten Mipmaps überspringt die Engine die CPU-Dekompression vollständig und führt eine direkte Direct3D- oder Vulkan‑Speicherkopie zur GPU aus. Dadurch werden CPU-Engpässe beim Streaming und Laden von Levels eliminiert.
Vorteile
- Blitzschnelle Ladezeiten: Keine CPU-Zyklen für Dekompression zur Laufzeit erforderlich.
- Vorgebackene Mipmaps: Offline-Mipmap-Generierung ermöglicht künstlerisch gesteuerte Filterung, Schärfung und Normalen-Map-Normalisierung über LODs hinweg.
- VRAM-Effizienz: Nutzt nativ branchenübliche BC-Kompressionsalgorithmen.
Nachteile
- DirectX/Windows Bias: Historisch an Microsoft-Ökosysteme gebunden, obwohl es auf modernen Desktop-Engines weit verbreitet unterstützt wird.
- Lossy Compression Artifacts: Blockkompression (insbesondere BC1 bei Normalmaps) kann Blockigkeit erzeugen, sofern nicht BC5/BC7 verwendet wird.
- Limited Mobile Support: Mobile GPUs bevorzugen typischerweise ASTC oder ETC2 gegenüber Desktop-BC-Formaten.
2. TGA (Truevision Targa)
Erstellt 1984, TGA (.tga) ist ein unkomprimiertes oder lauflängen-kodiertes (RLE) Rastergrafik-Dateiformat, das über drei Jahrzehnte hinweg ein unverzichtbarer Bestandteil der Pipeline geblieben ist.
Technische Merkmale
- Container Type: Unkomprimiertes Autor- / Austausch-Bitmap.
- Bit Depths: 8, 16, 24 und 32 Bit pro Pixel (RGB + dedizierter 8‑Bit‑Alpha‑Kanal).
- Compression: Keine oder einfache RLE (Run-Length Encoding).
Warum Entwickler TGA verwenden
TGA wird von technischen Künstlern und Engine-Programmierern wegen seiner reinen architektonischen Einfachheit bevorzugt. Im Gegensatz zu PNG, das einen Alphakanal in komplexe Filtermatrizen einbettet, hält TGA Farbdaten und Alphakanäle vollständig getrennt und unverändert.
Beim Erstellen benutzerdefinierter Masken (z. B. das Packen von Roughness in Rot, Metallic in Grün, Ambient Occlusion in Blau und Height in Alpha) stellt TGA sicher, dass keine subtilen algorithmischen Mischungen oder Farbüberläufe zwischen den Kanälen auftreten.
Vorteile
- Makellose Datenintegrität: Bitgenaue Erhaltung der Kanalwerte; ideal für kanalgepackte ORM (Occlusion-Roughness-Metallic)-Texturen.
- Triviale Verarbeitung: Inhouse-Pipeline-Tools, benutzerdefinierte Exporter und automatisierte Skripte können TGA-Dateien mit minimalem Code lesen und schreiben.
- Universelle DCC-Unterstützung: Maya, 3ds Max, Blender, Substance 3D und Photoshop bieten nativen, unkomplizierten TGA-Export.
Nachteile
- Massive Dateigrößen: Großer Speicherbedarf in Git/Perforce-Repositories und langsame Downloadgeschwindigkeiten in verteilten Teams.
- Für die Laufzeit ungeeignet: Kann nicht direkt von der GPU als komprimiertes Format verwendet werden; muss vom Engine zur Build‑Zeit konvertiert werden.
3. PNG (Portable Network Graphics)
PNG (.png) ist das weltweit am meisten anerkannte verlustfreie Bildformat und nutzt zlib/DEFLATE-Kompression, um reichhaltige 24‑Bit‑ und 32‑Bit‑Bilder in bemerkenswert kleine Dateien zu packen.
Technische Merkmale
- Containertyp: Verlustfreies Erstellungs‑ und Lieferformat.
- Bit-Tiefen: Bis zu 16 Bit pro Kanal (48‑Bit RGB, 64‑Bit RGBA).
- Kompression: Verlustfreier DEFLATE-Algorithmus.
Warum Entwickler PNG verwenden
PNG dient als primäres Verteilungsformat für UI‑Assets, Sprites, Werbematerialien und Zwischen‑Quelltexturen. Für 2D‑Spiele, die in Unity, Godot oder Unreal Engine erstellt werden, bietet PNG eine gestochen scharfe Pixeltreue mit makellosen Transparenzmasken.
Vorteile
- Kompakter Repository-Fußabdruck: Reduziert die Projekt‑Checkout‑Größen im Vergleich zu unkomprimierten TGA stark.
- Verlustfreie Farbqualität: Keine Kompressionsartefakte an hochkontrastierenden Kanten und vektor‑artigen Illustrationen.
- Native Alpha-Transparenz: Saubere 8‑Bit‑Alpha‑Kanalunterstützung für komplexe transluzente UI‑Elemente und Partikel‑Sheets.
Nachteile
- Aufwändige CPU‑Dekodierung: Das Dekomprimieren großer PNGs zur Laufzeit verlangsamt die Bildrate und erhöht den Speicherverbrauch vor dem GPU‑Upload.
- Vorsicht bei vorvermultiplizierter Alpha: Einige Bildeditoren verwerfen RGB‑Daten in vollständig transparenten Pixeln, was das Textur‑Bluten zerstört und dunkle Konturen um Sprites verursacht.
- Keine VRAM-Einsparungen: Dekomprimiert zu vollem 32‑Bit-Rohspeicher innerhalb der GPU, sofern es nicht vom Texture‑Cooker der Engine aufgenommen wird.
4. KTX (Khronos-Textur) und KTX 2.0
Entwickelt von der Khronos Group – dem Gremium hinter Vulkan, OpenGL und glTF – KTX (.ktx) und KTX 2.0 stellen den modernen offenen Standard für plattformübergreifende GPU-Texturen dar.
Technische Merkmale
- Container-Typ: Standardisierter offener GPU-Textur-Container.
- Kompressionsunterstützung: Basis Universal (ETC1S und UASTC), ASTC, BCn, ETC2.
- Wichtige Fähigkeiten: Universelles Textur-Transcoding, Mipmaps, Cubemaps, Array-Texturen, glTF-Integration.
Warum Entwickler KTX verwenden
KTX 2.0 löst das fragmentierte plattformübergreifende Kompressionsdilemma. Traditionell mussten Entwickler DDS (BCn) für Desktop/Konsolen und ASTC/ETC2 für Mobilgeräte/Tablets bereitstellen.
Mit KTX 2.0 und Basis Universal:
- Sie speichern Texturen in einem kompakten, universell komprimierbaren Format.
- Zur Laufzeit transkodiert die Client-Hardware die Datei direkt in das Blockformat, das die lokale GPU bevorzugt (z. B. BC7 auf einer GeForce RTX, ASTC auf einem iPhone, ETC2 auf einem älteren Android-Gerät).
- Superkompression (Zstandard) erzeugt Dateien, die auf der Festplatte kleiner als JPEG sind und in Millisekunden in native VRAM-Blöcke transkodiert werden.
Vorteile
- Wahrer plattformübergreifender Standard: Läuft nahtlos auf Vulkan, WebGL, WebGPU und mobilen Geräten.
- Basis Universal Transcoding: Ein einziger Asset-Build richtet sich an Desktop, Mobile und Browser, ohne doppelte Texturexporte.
- Erstklassiger glTF-Begleiter: Essentiell für moderne 3D-Web-Erlebnisse, Metaverse-Engines und offene Rendering-Pipelines.
Nachteile
- Reife der Pipeline-Tools: Erfordert moderne Build-Ketten (wie
toktxaus der KTX-Software-Suite); ältere proprietäre Engines könnten keine sofortige Integration bieten. - Transcoder-Overhead: Leichte Laufzeit-Transkodierungsverzögerung (obwohl um Größenordnungen schneller als vollständige PNG-Software-Decodierung).
Direkter Vergleich
| Funktion / Kriterien | DDS | TGA | PNG | KTX / KTX 2.0 |
|---|---|---|---|---|
| Primärer Anwendungsfall | PC/Console-Laufzeit | Quellenerstellung & Masken | 2D-Sprites & Quellkunst | Plattformübergreifend & Web-Laufzeit |
| Direktes GPU-Sampling | Ja (Native) | Nein | Nein | Ja (Native oder Transkodiert) |
| VRAM-Kompression | Ja (BC1–BC7) | Nein (Unkomprimiert) | Nein (Unkomprimiert) | Ja (ASTC, BCn, Basis) |
| Vorgebackene Mipmaps | Ja | Nein | Nein | Ja |
| Festplattengröße | Mäßig | Sehr hoch | Klein | Extrem klein (Basis + Zstandard) |
| Ökosystem | DirectX / Desktop-Engines | DCC-Software / Source-Pipelines | Universelle Web- & 2D-Engines | Vulkan, WebGPU, glTF |
Praktischer Leitfaden: Aufbau der idealen Asset-Pipeline
Wie sollten Sie diese vier Formate in einer kommerziellen Produktionspipeline organisieren? Hier ist, wie führende Studios ihre Texturpipelines strukturieren:
[DCC & Authoring] [Engine Ingestion / Cook] [Runtime GPU Target]
Substance / Photoshop / Blender Unreal / Unity / Custom Toolset VRAM Memory Blocks
• TGA (Clean packed masks) ──────► Build Engine Texture Cooker ──────► DDS (DirectX / Windows / Xbox)
• PNG (UI & 2D Sprites) ──────► Generates Mipmaps & Block ──────► KTX2 (Vulkan / WebGPU / Mobile)
• PSD / EXR (HDR & masters) ──────► Compression Automatically
- Quell-Assets: Speichern Sie Masterdateien und kanalgepackte Daten in TGA oder PNG in Ihren Projekt-Repositories, um unverfälschte Farbinformationen zu gewährleisten.
- PC- & Konsolen-Builds: Reduzieren Sie Ihre Quelltexturen zu DDS-Dateien unter Verwendung von BC7 für hochdetaillierte Albedo-/Normalmaps und BC4/BC5 für ein- und dualkanalige Masken.
- Cross-Plattform-, Web- & Mobile-Builds: Packen Sie Laufzeit‑3D‑Assets in KTX 2.0, um universelles Transcoding über Android, iOS und WebGPU zu nutzen, ohne separate Kunstzweige zu pflegen.
- Benutzeroberflächen: Halten Sie Laufzeit‑UI‑Texturen entweder in klaren, unkomprimierten Formaten oder in verlustfreien Engine‑Atlanten, die aus hochauflösenden PNG‑Quelldateien abgeleitet sind.
Häufig gestellte Fragen (FAQ)
Q1. Kann eine Spiel-Engine ein PNG direkt aus dem Videospeicher abfragen?
A1: Nein; GPUs können PNG‑Kompression nicht interpretieren, daher müssen Engines PNG‑Dateien in Roh‑32‑Bit‑Bitmaps im Speicher dekomprimieren, bevor sie sie in den VRAM hochladen.
Q2. Warum bevorzugen technische Künstler TGA gegenüber PNG für das Masken‑Packing?
A2: TGA speichert reine, unkomprimierte Kanal-Daten ohne Farbausbluten oder destruktive Kantentransparenzfilterung über einzelne RGB- und Alphakanäle.
Q3. Welchen Blockkompressionsalgorithmus sollte ich in einem DDS-Container für Normalmaps verwenden?
A3: Verwenden Sie BC5 (Zwei-Kanal-Tangentraum-Kompression) für Normalmaps, um eine saubere Oberflächenkrümmung zu erhalten, ohne die üblichen BC1-Blockartefakte.
Q4. Was macht KTX 2.0 besser als DDS für plattformübergreifende Spiele?
A4: KTX 2.0 unterstützt Basis Universal, wodurch eine einzelne Datei zur Laufzeit in Desktop-BCn-Formate oder mobile ASTC/ETC-Formate transkodiert werden kann.
Q5. Erhöht das Vorberechnen von Mipmaps in DDS- oder KTX-Dateien die Dateigröße?
A5: Ja, das Einbeziehen vollständiger Mipmap-Ketten erhöht die Rohdatenmenge der Datei um etwa 33 %, eliminiert jedoch Laufzeit‑Flimmern, verbessert die Cache‑Lokalität und steigert die GPU‑Renderleistung.