Beide Richtungen – genau darum geht es
Viele Werkzeuge komprimieren ein glTF mit Draco. Fast keines nimmt die Kompression wieder heraus – und genau dort bleiben die Leute hängen. Ältere Babylon.js-Builds, mehrere glTF-Importer in Unity und etliche DCC-Werkzeuge können KHR_draco_mesh_compression schlicht nicht lesen. Wenn dir ein Kunde ein komprimiertes GLB schickt und deine Pipeline es ablehnt, brauchst du Dekompression, nicht noch mehr Kompression.
Dieses Werkzeug macht beides, im Browser, ohne dass etwas hochgeladen wird.
Draco gegen Meshopt
Beide lösen dasselbe Problem auf unterschiedliche Weise, und die richtige Wahl hängt davon ab, worauf du optimierst.
Draco nutzt konnektivitätsbewusste Entropiecodierung und liefert die kleinsten Dateien – typischerweise 80–95 % weniger als die rohen Vertexdaten. Der Preis ist die Decodierzeit: Der Decoder ist ein umfangreiches WebAssembly-Modul, und das Auspacken eines großen Netzes kostet echte Millisekunden, die der Nutzer vor einem leeren Bild verbringt.
Meshopt arbeitet mit Filtern auf Byte-Ebene und einem deutlich einfacheren Codec. Die Dateien werden etwas größer als bei Draco, decodieren aber rund eine Größenordnung schneller, und das Format ist so ausgelegt, dass sich Decodierung und Streaming überlappen. Für eine Website, bei der die Zeit bis zum ersten Pixel wichtiger ist als die Übertragungsgröße, gewinnt meist Meshopt.
Eigenständiges .drc ist Draco ganz ohne glTF-Hülle – nur Geometrie, keine Materialien, keine Texturen, keine Hierarchie. Nützlich für Forschungs-Pipelines und eigene Loader, unbrauchbar als Auslieferungsformat für ein texturiertes Asset.
Die Qualität geht bei der Quantisierung verloren
Beide Codecs quantisieren: Fließkomma-Attribute werden zu Festkomma-Ganzzahlen mit gewählter Bittiefe. Das ist konstruktionsbedingt verlustbehaftet, und jedes Attribut verträgt etwas anderes.
- Position – 14 Bit ist für fast alles visuell verlustfrei. Bei 12 Bit rasten Vertices auf großen Modellen sichtbar in ein Gitter ein, bei 10 Bit ist es offensichtlich.
- Normalen – 10 Bit ist sicher. Artefakte zeigen sich als Banding auf weich schattierten Flächen.
- Texturkoordinaten – 12 Bit. Unter 10 Bit driften die UVs und Texturen schwimmen sichtbar über die Oberfläche.
- Farbe – 8 Bit entspricht dem, was die meisten Vertexfarben ohnehin schon mitbrachten.
Nicht zweimal komprimieren
Eine bereits Draco-komprimierte Datei erneut zu codieren heißt: decodieren, die schon quantisierten Werte nochmals quantisieren und neu codieren. Jede Runde verliert Präzision, die nie zurückkommt. Das Werkzeug erkennt vorhandene Kompression beim Laden und warnt dich – wenn du andere Einstellungen brauchst, dekomprimiere zuerst und komprimiere dann einmalig aus dem sauberen Ergebnis.
Was es nicht verkleinert
Geometrie-Codecs tun nichts für Texturen. Wenn dein 40-MB-GLB aus 38 MB 4K-PNGs besteht, spart Draco ein paar hundert Kilobyte und du schließt daraus, dass Kompression nichts bringt. Das Ergebnis-Panel weist die Geometrie-Bytes gesondert aus, damit du siehst, was der Codec wirklich erreicht hat – unabhängig vom Rest der Datei.
Datenschutz
Draco und Meshopt laufen beide als WebAssembly in deinem Browser. Es wird nichts hochgeladen.
Tiny Online Tools







