SpriteStudio / SS5PlayerForUnity

OPTPiX SpriteStudio 5 Player for Unity
http://www.webtech.co.jp/spritestudio/
MIT License
39 stars 15 forks source link

v1.1 CPU の処理負荷を軽減したい #79

Open SpriteStudio opened 9 years ago

SpriteStudio commented 9 years ago

基本的な対処方法には下記があります。

  1. デフォルト値から全く変化しないアトリビュートにはキーを打たない。
    例えば、不透明度キーの値が 1 のままで変化しないのであればキーを削除してしまいます。 OPTPiX SpriteStudio 5.3.5 以降で対応される「無変化キーの削除」機能を利用する。
  2. 同じ結果をもたらすアトリビュート設定は、なるべく使用アトリビュートを絞って行う。
    例えば、パーツを反転する場合、上下/左右反転アトリビュートを指定するよりも、X/Y スケール値に負数を指定することで反転する方が若干高速になります。
    また、非表示:ON と 不透明度=0 で同様の結果を得られますが、CPU負荷においてはほぼ差はありません。
  3. できる限りパーツ数を減らす。
    再生する上で必要のないパーツは削除しましょう。

なお、v1.0 以降では、補間計算をインポート時に行うため、ベジェ補間を減らして 線形補間で代替するなどの工夫を行っても速度に差は出ません。

内部処理の高速化については今後のアップデートで対応を検討しています。

(2014/10/21 v1.1 時点)

補足

非表示=ON の場合、メッシュの該当パーツはバインディングの登録にいかないため、不透明度=0に比べると、

a. パーツの表示登録+ソート
b. バインディング
c. 頂点、ピクセルシェーダ

これらの処理を行わない分、僅かに軽くなります。
とはいえ、アニメの更新処理計算や、主要なパーツ処理は通るため、その差はごく僅かなものと考えられます。

DKAlpha commented 9 years ago

v1.2.3で大幅な高速化を行いました。