FC2ブログ

設定変更のコスト

粒子表示をするときに、(例えば半透明がからんで)順番に表示しなければいけない、粒子の表示設定が違うので切り替えをしなければいけない、etc... と状況によって描画以外のところで遅くなる要因があります。
そのへんの切り替えが必要かどうかは、状況次第なので、いろいろとif文を駆使して場合分けをするのですが、まとめて描画設定できる要素が多ければ多いほど、切り替えの必要が少なくなります。

ということで、シェーダー側で管理できる要素を増やして、切り替えが必要になる条件を減らしたところ(場合によっては)3倍速くなりました!



毎秒 1.9 枚の描画から、毎秒6枚まで速度アップ!
粒子数73万で、粒子の種類分けあり。影とかの無い「円」の表示です。

ようやく、一部状況でZindaiji3との比較ができるところまで機能が増えてきましたぞい。


※)
あとからもう少し調べて、zソートなしだと3倍どころか10倍速くなる場合もあることが判明しました。
Zindaiji3だと全粒子で切り替えが必要で、Zindaiji4で切り替えの必要がない場合など。

ただし、Zindaiji3側でも、zソートの代りに粒子の種類でソートすることで、切り替えを少なくするというオプション技があり、工夫のない場合の表示より5倍ぐらい速くすることができたので、最速の場合で比べて2~3倍ほどの差のようです。
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

プロフィール

takedatk

Author:takedatk
とりあえず2012年時点で1000万体のデータを無理なく扱えるようになれば、一応時代遅れにはならずに役に立つアプリになるのではないかと皮算用していますが。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR