0

私はcocos2d-iphone で構築されたユニバーサルiOS ゲームを持っています。これには、多数小さな画像があります (とりわけ)。これらの小さな画像の場合、ゲームは iphone:ipad/iphone-retina:ipad-retina の 1:2:4 の比率で問題なく動作します。ゲームでこれを有効にする方法は 2 つあります。

A) スプライト/スプライトシートの 3 つのセットを用意します - 必要な 3 つのフォーム ファクターに対して、適切な名前を付けて、画像をピックアップします。

B)デバイスとその解像度に応じてスケーリングされる最高解像度の画像のセットを1つ用意するaSprite.scale=[self getScaleAccordingToDevice];

オプション A には、実行時のオーバーヘッドが少ないという利点がありますが、ディスク フットプリントが大きくなります (アプリは現在 94 MB 以下であるため、これは重要な考慮事項です)。オプション B には、ディスク フットプリントが小さいという利点がありますが、代償として、iPhone 3gs (サポートされている最も低いデバイス) の場合でも、iPad Retina イメージがメモリに読み込まれます。

いずれかの方法を決定するのに役立つ議論を誰かが提供できますか?

ありがとう

4

2 に答える 2

3

引数はありません。オプション A を使用してください。

iPad 3 または 4 の 4 分の 1 のメモリ (256 MB 対 1 GB)。このような大きな画像の縮小バージョンをレンダリングするために必要な追加の処理能力は言うまでもありません。メモリ不足や実行速度が遅すぎるために、まったく機能しない可能性が十分にあります (試しましたか?)。

次に、95 MB の場合でも、オプション B を使用してもアプリが 50 MB 未満にならない可能性があるのは当然のことです。大きな Retina テクスチャはバンドル サイズの 3 分の 2 または 4 分の 3 を占めますが、SD テクスチャはそれほど重くありません。50 MB 未満のユーザーは無線経由でアプリをダウンロードでき、50 MB を超えると、Wifi 経由で同期するか、コンピューターに接続する必要があるため、これが考慮すべき唯一のアプリ バンドル サイズのターゲットです。50 MB を下回ることができない場合、バンドルのサイズが 55 MB であろうと 155 MB であろうと、実際には問題になりません。

最後に、バンドル サイズを小さくするためのより良いオプションがあります。私の記事、特に 2 番目の部分を読んでください。

画像が PNG の場合、最初に試みる必要があるのは、それらすべてを .pvr.ccz に変換し、NPOT テクスチャ アトラスとして変換することです (これを行う最も簡単な方法: TexturePacker )。画質を損なうことなくバンドル サイズを 30 ~ 50% 削減できる場合があります。また、画質をいくらか落とす余裕がある場合は、さらに大きな節約が可能です (さらに、追加の読み込みとパフォーマンスの向上)

于 2013-02-20T16:25:33.710 に答える
1

94Mb のアプリは、すでに電話ネットワークのダウンロード制限をはるかに超えています。つまり、インターネット接続が利用できる場合にのみダウンロードされます。はたして……それは本当に問題なのだろうか?考慮する必要があるもう 1 つの大きな要素は、実行時のメモリ フットプリントです。3G で 4x を実行し、スケールダウンした場合、メモリ要件はフル サイズのスプライトに必要です (つまり、メモリ量の 16x :)。したがって、自問しなければならないもう 1 つの質問は、そのゲームが古いデバイスで高いメモリ フット プリントで「実行」される可能性があるかどうかです。また、テクスチャの読み込み時間が古いデバイスでのアプリの使いやすさに影響を与える可能性があります。これらのことを測定し、いくつかの確かなデータに基づいて決定する必要があります (残念ながら)。

最初に行う必要があるテストは、「縮小された」スプライトが標準解像度の iPhone で問題なく見えるかどうかを確認することです。縮小すると、レンダリング時に期待を下回ることがあります。グラフィック デザイナーがオプション B を拒否しない場合、決定権はありません。彼/彼女には、3 つの形式すべてを提供する責任があります。その後、オプション B がまだオプションである場合は、オプション B から始めて、3GS (完全な実装ではなく小規模プロジェクト) で測定します。すべてが順調であれば、完了です。

ps : アプリのサイズについては、.pvr.ccz 形式の使用を検討してください (私はテクスチャ パッカーを使用しています)。テクスチャが小さくなり、読み込み時間が大幅に短縮されます (pvr 形式のため)。3GS では一般にプロセッサが遅いため、ロード時間の改善は小さくなる可能性があります - 圧縮を解除する必要があります。

于 2013-02-20T13:41:51.153 に答える