本文へスキップ
ドキュメント
このページの内容

レベルの予算

スマートフォンは1フレームにおよそ1000個のシェイプなら余裕を持って扱え、性能の低いPCなら5000〜10000個です。数よりもコストが大きいのはオーバードローです:画面全体を覆う半透明のものが、何層にも重なる場合です

デバイスが扱えるシェイプの数

数えるのは、1フレームに同時に存在するシェイプです。数値はおおよそですが、桁は正しいものです

デバイス余裕があるプレイできる上限
スマートフォン10002000
性能の低いPC5000〜1000020000〜40000
平均的なPC(Steamの調査による)50000100000

手の届く範囲で最も性能の低いデバイスで試します。自分のPCではすべて問題なく動きますが、それは何の目安にもなりません

テキストとエフェクト

テキストとエフェクトもシェイプとして数えられます

テキスト:テキストオブジェクト1つにつき2〜100シェイプ。コストはフォントの複雑さ、文字数、スタイルの数、テキストがアニメーションするかどうかで決まります

エフェクト:オブジェクト自体に10シェイプ、さらにパーティクル1個につき0.1シェイプ。パーティクル1000個のエフェクトはおよそ110シェイプです

オーバードロー

コストが大きいのは数ではなく、オーバードローです。同じピクセルが何度も繰り返し塗られることを指します

ここから言えること:

  • 画面全体を覆う半透明の塗りつぶし1枚は、弾100個よりも高くつく
  • 半透明の装飾を何層も重ねるのは、作れるものの中で最も高くつく
  • レベルが重いときは、オブジェクトを数えるより、画面全体を覆っているものを探す
補足

平均的なモバイルチップでは、1000個のオブジェクトが60〜70重に重なるシーンで、GPU時間の95〜97パーセントがピクセルの塗りに費やされます。画面全体に散らばった1000個の小さなシェイプは、全画面を覆う半透明のシェイプ10個を重ねるより安くつきます

不透明と半透明

シェイプには描画パスの選択肢があります:Auto、Opaque、Transparent。不透明のパスのほうが安くつきます:GPUが隠れたピクセルを先に捨てるからです

Autoは読み込み時に1回だけ自動で決めます。その絶対条件は、レベルの見た目を決して変えないことです。不透明だと証明できないものは、すべて半透明になります

警告

パスを手動で設定するのは、何をしているのか正確にわかっている場合だけにします。不透明と宣言したのに不透明でないオブジェクトは、速くなるのではなく、見た目がおかしくなります

容量のヒント

保存時に、レベルは最も重いフレームで必要になったオブジェクトの数を記録します。これはローダーへのヒントであって、制限ではありません。ジェネレーターはこの値を再計算します

次へ:モバイルデバイス、画像とフォント