В Xna, как я могу уменьшить размер моих текстур? - PullRequest
1 голос
/ 06 октября 2011

У меня есть двумерная игра сверху вниз в Xna, которая использует одно изображение в качестве «арены». Изображение используется в качестве Texture2D, 4096 * 1050 и только 186 КБ в качестве png (на данный момент изображение является просто заполнителем). При сборке размер файла xnb составляет 24 МБ. Итак, вопрос в том, есть ли способ значительно уменьшить размер текстуры?

Заранее спасибо

Ответы [ 3 ]

1 голос
/ 07 октября 2011

Подумайте о выборе PNG в вашем проекте контента, разверните Content Processor и в текстовом формате выберите «DxtCompressed».Это скомпилирует ваш XNB с компрессией DXT, которая значительно уменьшит размер.Однако это несколько снижает качество.Проверьте это и посмотрите, что вы думаете.

1 голос
/ 06 октября 2011

Файл XNB, создаваемый конвейером содержимого, содержит данные распакованного изображения, поэтому его размер будет простой функцией от размеров текстуры и битовой глубины. Если вы хотите, чтобы размеры файлов были меньше, то либо используйте меньшие текстуры (то есть, меньше пикселей; если у вас есть 1 текстура или 100, не имеет значения, если они все вместе содержат одинаковое количество пикселей), либо используйте формат текстуры, который хранит меньше данных на пиксель. Вы должны иметь возможность изменить параметр «Формат текстуры» (под процессором содержимого) для каждой текстуры, чтобы настроить ее битовую глубину.

Я бы спросил, действительно ли это необходимо. Как отмечалось в комментариях, это действительно не должно быть настолько большим делом, особенно если рассматриваемый актив - игровое поле вашей игры. Это телефонная игра?

0 голосов
/ 06 октября 2011

В режиме отладки текстура xnb не сжимается.

В режиме выпуска xnb сжимаются.

У вас не должно быть проблем в режиме выпуска.

;)

...