Warum ein GLB nach der Optimierung größer wird
Eine größere Leistung bedeutet nicht immer, dass das Werkzeug ausgefallen ist. Die neuen Einstellungen bevorzugen möglicherweise ein anderes Format oder eine andere Genauigkeit und die Eingabe ist möglicherweise bereits komprimiert. Vergleichen Sie die Original- und Ausgabeerweiterungen zusammen mit dem Befehl, bevor Sie weitere Einstellungen ändern.
Überprüfen Sie, ob die Geometriekomprimierung entfernt wurde
Die Voreinstellung „Konservativ“ erfordert keine Meshopt-Komprimierung. Wenn die Eingabe bereits Meshopt verwendet, kann die Optimierung mit ausgeschalteter Komprimierung zu einer größeren Datei führen, selbst wenn die Dreiecksanzahl gleich bleibt. Wählen Sie die Voreinstellung „Kleinere Datei“, wenn Sie Meshopt in der Ausgabe haben möchten und Ihre Anwendung dies unterstützt.
| Testen Sie die Welligkeitsprobe | Größe (Byte) | Dreiecke |
|---|---|---|
| Meshopt-komprimierte Eingabe | 39,248 | 8,192 |
| Wiederaufbereitung ohne Komprimierung | 119,120 | 8,192 |
Dieser native gltfpack 1.3-Test verarbeitet eine optimierte Version unseres CC0-Beispiels erneut. Die Datei wächst, weil sich die Ausgabeeinstellungen unterscheiden, nicht weil weitere Dreiecke hinzugefügt wurden. Dies ist ein Beispiel dafür, warum wiederholte Optimierung nicht garantiert dazu führt, dass eine Datei immer weiter verkleinert wird.
Überprüfen Sie die Texturkodierung und Präzisionsänderungen
UASTC kann viel größer sein als ETC1S. Es handelt sich um eine Qualitätsoption, nicht um eine Einstellung für die kleinste Datei. Ebenso kann die Deaktivierung der Geometriequantisierung oder die Erhöhung der Präzision die Datenmenge erhöhen. Vergleichen Sie diese Auswahl mit den Einstellungen, die zu Ihrer Eingabe geführt haben.
Ein kleines Modell oder eine kleine Textur kann auch zu einem Metadaten- oder Container-Overhead führen, der die Einsparungen überwiegt. Es gibt keine allgemeingültige Mindestersparnis. Wenn das neue Format für Ihre Anwendung keinen Nutzen bringt, kann die Beibehaltung des Originals die bessere Wahl sein.
Messen Sie auf beiden Seiten die gleiche Menge ab
Vergleichen Sie heruntergeladene Dateibytes mit heruntergeladenen Dateibytes. Ein Browser-Netzwerkfenster zeigt möglicherweise die übertragene Größe nach der HTTP-Komprimierung an, während ein Dateimanager die gespeicherte GLB-Größe anzeigt. Keine der beiden Zahlen misst den Texturspeicher nach dem Laden auf dem GPU direkt.
Ändern Sie eine Einstellung und vergleichen Sie erneut
Kehren Sie zur ursprünglichen Eingabe zurück. Passen Sie zuerst die Komprimierungsauswahl an und überprüfen Sie dann die Texturkodierung und -präzision. Speichern Sie jeden Befehl mit seinem Ergebnis, damit Sie die Änderung identifizieren können, die die Datei vergrößert hat. Kompensieren Sie eine Codierungsänderung nicht, indem Sie sofort mehr Geometrie entfernen.
Vergleichen Sie ETC1S, UASTC und WebP →
Planen Sie einen kontrollierten Dateigrößenvergleich →
Motorreferenz: gltfpack
Öffnen Sie den Optimierer ↗