Dlaczego GLB staje się większy po optymalizacji
Większy wynik nie zawsze oznacza, że narzędzie uległo awarii. Nowe ustawienia mogą faworyzować inny format lub precyzję, a dane wejściowe mogą być już skompresowane. Przed zmianą kolejnych ustawień porównaj rozszerzenia oryginalne i wyjściowe z poleceniem.
Sprawdź, czy usunięto kompresję geometrii
Ustawienie wstępne Konserwatywne nie wymaga kompresji Meshopt. Jeśli dane wejściowe korzystają już z Meshopt, optymalizacja z wyłączoną kompresją może spowodować utworzenie większego pliku, nawet jeśli liczba trójkątów pozostanie taka sama. Wybierz ustawienie wstępne Mniejszy plik, jeśli chcesz mieć Meshopt na wyjściu i Twoja aplikacja to obsługuje.
| Przetestuj na próbce tętnienia | Rozmiar (w bajtach) | Trójkąty |
|---|---|---|
| Wejście skompresowane Meshopt | 39,248 | 8,192 |
| Przetworzone ponownie z wyłączoną kompresją | 119,120 | 8,192 |
Ten natywny test gltfpack 1.3 ponownie przetwarza zoptymalizowaną wersję naszego przykładu CC0. Plik powiększa się, ponieważ ustawienia wyjściowe są różne, a nie dlatego, że dodano więcej trójkątów. Jest to przykład tego, dlaczego powtarzana optymalizacja nie gwarantuje ciągłego zmniejszania pliku.
Sprawdź kodowanie tekstur i zmiany precyzji
UASTC może być znacznie większy niż ETC1S. Jest to opcja jakości, a nie ustawienie najmniejszego pliku. Podobnie wyłączenie kwantyzacji geometrii lub zwiększenie precyzji może zwiększyć ilość danych. Porównaj te wybory z ustawieniami, które spowodowały wprowadzenie danych wejściowych.
Mały model lub tekstura może również zwiększyć koszty metadanych lub kontenera, które przewyższają oszczędności. Nie ma uniwersalnego minimalnego oszczędzania. Jeśli nowy format nie zapewnia żadnych korzyści dla Twojej aplikacji, lepszym wyborem może być pozostawienie oryginału.
Zmierz tę samą ilość po obu stronach
Porównaj bajty pobranych plików z bajtami pobranych plików. Panel sieciowy przeglądarki może pokazywać rozmiar przesłanego pliku po kompresji HTTP, natomiast menedżer plików pokazuje zapisany rozmiar GLB. Żadna liczba nie mierzy bezpośrednio pamięci tekstur po załadowaniu na GPU.
Zmień jedno ustawienie i porównaj ponownie
Wróć do oryginalnego wejścia. Najpierw dopasuj wybraną kompresję, a następnie sprawdź kodowanie tekstur i precyzję. Zapisz każde polecenie wraz z jego wynikiem, aby móc zidentyfikować zmianę, która spowodowała zwiększenie pliku. Nie kompensuj zmiany kodowania poprzez natychmiastowe usunięcie większej ilości geometrii.
Porównaj ETC1S, UASTC i WebP →
Zaplanuj kontrolowane porównanie wielkości plików →
Odniesienie do silnika: gltfpack
Otwórz optymalizator ↗