[PL] Xna i kompresja
Dziecinny błąd, natomiast warto pamiętać o ustawieniu sobie kompresji w zasobach Xna.
Gdy swoje pierwsze wypociny skompilowałem i przerzuciłem w binaria do innego folderu, to po spakowaniu miały około 20mb. Trochę się zdziwiłem, bo co prawda używałem dużych tekstur i zostawiłem dużo zasobów, których tak naprawde nie używałem, ale na miły Bóg, tam było tylko ok 12mb w JPG,MP3, FXB i plikach FX (HLSL).
Jak sprawdziłem jak Xna zamieniło mi przykładowego JPG w rozdzielczości HD Ready (1280x768) na plik .xnb to mnie zamurowało. Jpeg = ~700kB, xnb = prawie 4MB.
Zrobiłem się podejrzliwy, ale jak wspomniałem zupełnie nie pomyślałem, że kompresja jest tutaj parametrem, a nie cechą z paczki.
Szybka zmiana w właściwościach Texture Format:
.. z Color na DxtCompressed i mój JPG po zmianie na xnb zajmował 300kb, a całe spakowane archiwum z próbkami kodu ~8mb. Trochę lepiej, choć ciągle rozważam generowanie tekstur, w miejscach gdzie to jest możliwe i ma sens.
Podsumowując kompresję, warto zapoznać się z poniższą stroną:
https://msdn.microsoft.com/en-us/library/dd231952.aspx
Są pewne warunki. Dla przykładu, aplikacje na Zune’a nie wspierają kompresji w ogóle. Wytłumaczone jest to tym, że zysk związany z mniejszą wielkością nie będzie zrekompensowany narzutem na wydajność przy dekompresji (CPU Zune’a).
Z drugiej strony na Zune’a jednak te zasoby będą mniejsze (ze względu na mniejszą wspieraną rozdzielczość).
Dodatkowo wymiary naszej tekstury muszą być podzielne przez 4, inaczej kompilacja z kompresją się nie uda.
Technorati Tags: Polish posts,Xna,coding,gamedev
Comments
- Anonymous
December 22, 2008
PingBack from http://www.codedstyle.com/pl-xna-i-kompresja/