Warum eine GLB-Datei nach der Optimierung größer wird
Eine größere Ausgabe bedeutet nicht automatisch, dass das Werkzeug versagt hat. Die neuen Einstellungen können ein anderes Format oder eine andere Genauigkeit bevorzugen, und die Eingabe kann bereits komprimiert sein. Vergleiche Original- und Ausgabeerweiterungen gemeinsam mit dem Befehl, bevor du weitere Einstellungen änderst.
Prüfen, ob Geometriekompression entfernt wurde
Die Vorgabe „Konservativ“ fordert keine Meshopt-Kompression an. Nutzt die Eingabe bereits Meshopt, kann eine Optimierung ohne Kompression eine größere Datei erzeugen, obwohl die Dreieckszahl gleich bleibt. Wähle „Kleinere Datei“, wenn du Meshopt in der Ausgabe möchtest und deine Anwendung es unterstützt.
| Test mit dem Wellenmodell | Größe (Byte) | Dreiecke |
|---|---|---|
| Meshopt-komprimierte Eingabe | 39.248 | 8.192 |
| Erneut verarbeitet, Kompression ausgeschaltet | 119.120 | 8.192 |
Dieser Test mit nativem gltfpack 1.3 verarbeitet eine optimierte Version unseres CC0-Beispiels erneut. Die Datei wächst wegen anderer Ausgabeeinstellungen, nicht wegen zusätzlicher Dreiecke. Das zeigt, weshalb wiederholte Optimierung eine Datei nicht zwangsläufig immer weiter verkleinert.
Änderungen an Texturcodierung und Genauigkeit prüfen
UASTC kann deutlich größer als ETC1S sein. Es ist eine Qualitätsoption, keine Einstellung für die kleinste Datei. Ebenso können das Abschalten der Geometriequantisierung oder eine höhere Genauigkeit die Datenmenge erhöhen. Vergleiche diese Optionen mit den Einstellungen, mit denen deine Eingabe erstellt wurde.
Bei einem winzigen Modell oder einer kleinen Textur können zusätzliche Metadaten oder Containerdaten die Einsparung überwiegen. Es gibt keine allgemeine Mindesteinsparung. Bringt das neue Format deiner Anwendung keinen Vorteil, kann es besser sein, das Original zu behalten.
Auf beiden Seiten dieselbe Größe messen
Vergleiche die Größen der heruntergeladenen GLB-Dateien. Die Netzwerkanzeige eines Browsers kann die übertragene Größe nach HTTP-Kompression zeigen, während ein Dateimanager die gespeicherte GLB-Größe angibt. Keine dieser Zahlen misst direkt den Texturspeicher nach dem Laden auf die GPU.
Eine Einstellung ändern und erneut vergleichen
Gehe zur Originaleingabe zurück. Gleiche zuerst die Kompressionsart ab und prüfe dann Texturcodierung und Genauigkeit. Speichere jeden Befehl mit seinem Ergebnis, damit sich die vergrößernde Änderung zuordnen lässt. Gleiche eine andere Codierung nicht sofort durch mehr Geometriereduktion aus.
ETC1S, UASTC und WebP vergleichen →
Einen kontrollierten Dateigrößenvergleich planen →
Engine-Referenz: gltfpack
Optimierer öffnen ↗