在Xna中,我如何减小纹理的大小?

时间:2011-10-06 14:38:59

标签: c# xna size texture2d top-down

我在Xna中有一个2D自上而下的游戏,它使用单个图像,因为它是'竞技场'。该图像用作Texture2D,4096 * 1050,只有186kb作为png(图形现在只是一个普通的占位符)。构建时,xnb文件为24 MB。 所以,问题是,有没有办法显着减少纹理大小?

提前致谢

3 个答案:

答案 0 :(得分:1)

内容管道生成的XNB文件包含解压缩的图像数据,因此其大小将是纹理尺寸和位深度的简单函数。如果您希望文件大小更小,则使用较小的纹理(也就是说,较少的像素;无论您是否有1个纹理,如果它们共同包含相同数量的像素,则100个无关)或使用存储的纹理格式每像素数据更少。您应该能够为每个纹理更改“纹理格式”选项(在内容处理器下)以调整其位深度。

但是,我会质疑这是否真的有必要。正如评论中指出的那样,这真的不应该是一件大事,特别是如果有问题的资产是你的游戏竞争环境。这是一款手机游戏吗?

答案 1 :(得分:1)

考虑在内容项目中选择PNG,展开Content Processor,然后在Texture Format下选择“DxtCompressed”。这将使用DXT压缩编译您的XNB,这会大大减小尺寸。但是,它确实会降低质量。测试一下,看看你的想法。

答案 2 :(得分:0)

在调试模式下,纹理xnb是未压缩的。

在发布模式下,xnb被压缩。

在发布模式下不应该出现问题。