0

我通常一直在为 windows phone 7 编写 xna 游戏并将我的所有内容设置为编译的构建操作,这是默认的;我注意到的是,在完成一个新项目后,我的 XAP 文件现在很大,它似乎已经拍摄了 15MB 的图像并将它们放大到 200MB 大小。无论如何在保持图像编译的同时让构建更小?根据我的阅读,它将图像编译为基本上完整的位图。我可以采取什么方法来解决这个问题,因为强制用户下载 200MB 的应用程序似乎不公平,而它最多只占用 15-20MB。

4

1 回答 1

1

XNA 内容管道基本上存储将在 GPU 上使用的图像。那可以是未压缩的位图,也可以是 DXT 压缩的(压缩程度不大)。

因此,如果您的原始文件是jpeg格式(或者,在较小程度上,png),您会发现您的原始文件比构建的 XNB 文件小得多

所以答案是分发您的原始文件jpegpng文件,并使用Texture2D.FromStream. 请注意,这使用更多的 CPU 能力在运行时将它们转换为正确的格式(尽管我听说在某些情况下加载速度更快,因为传输的数据更少)。此外,您必须自己手动进行预乘 alpha(以及内容管道为您处理的任何其他内容)。

您可能想要研究的另一件事是为您的声音效果打开压缩。默认情况下,它们是未压缩的。有关详细信息,请参阅此答案

有关更多信息,这篇文章看起来很有帮助。

于 2012-10-21T05:39:15.303 回答