私は通常、Windows Phone 7 用の xna ゲームを作成しており、すべてのコンテンツをコンパイルのビルド アクション (デフォルト) に設定しています。私が気付いたのは、新しいプロジェクトを完了した後、XAP ファイルが巨大になっていることです。15MB 相当の画像を取り、サイズが 200MB にまで膨れ上がったようです。イメージをコンパイルしたままビルドを小さくする方法はありますか? 私が読んだことから、基本的に完全なビットマップとして画像をコンパイルします。ユーザーに 200MB のアプリのダウンロードを強制するのは、せいぜい 15 ~ 20MB しか必要としないのに、不公平に思われるため、この問題を解決するために私が取ることができる別の方向性は何ですか。
1 に答える
1
XNA コンテンツ パイプラインは、基本的に GPU で使用されるイメージを保存します。これは、圧縮されていないビットマップ、または圧縮された DXT (あまり圧縮されていない) のいずれかです。
したがって、元のファイルがjpeg
形式 (または、程度は低いが) である場合、元のファイルはビルドされた XNB ファイルよりもはるかに小さいpng
ことがわかります。
したがって、答えは、元のjpeg
とpng
ファイルを配布し、 でロードすることTexture2D.FromStream
です。これにより、実行時に適切な形式に変換するために、より多くの CPU パワーが使用されることに注意してください (ただし、転送されるデータが少ないため、場合によっては読み込みが速くなるという報告を聞いています)。また、事前に乗算されたアルファを自分で手動で行う必要があります (およびコンテンツ パイプラインが処理する他のすべてのもの)。
もう 1 つ確認したいことは、効果音の圧縮をオンにすることです。デフォルトでは、圧縮されていません。詳細については、この回答を参照してください。
詳細については、この記事が役に立ちます。
于 2012-10-21T05:39:15.303 に答える