「EnDlEss DREamER」ブログ

最近はunity5メインで活動中。以前はツクールRGSSネタなど。

§ 簡易汎用ATBシステムの「重たい現象」

★ 誰かが戦闘不能になると重たい場合 ★

・KGC様「パッシヴスキル」とtype74rx-t様「不死身ステート」
 を併用すると処理が重たくなる現象が確認されています。
 不死身ステートの43行目を

「add_state(1) if actor? and @hp < 1 and not @immortal and not state?(1)」

 と書き直すと重たい現象が解消されます。


ということで、自作ゲーでATBシステムがやたらと重たくなる原因をここ数日解明しようとあれこれしてたら
やっと分かった原因が思っていたバトルレイアウト変更絡みかと思いきや、全く関係ないところで
KGC様「パッシヴスキル」とtype74rx-t様「不死身ステート」併用による競合であることが発覚!!

どーやって追求できたかというと、ゲージ加算で「Graphics.frame_reset」を使用していて
これをコメントアウトして実行したら、戦闘不能で「Graphics.frame_reset」が実行されている
動作が確認できたんで、あとは使用しているスクリプトをしらみつぶしに調べると・・・・

「Graphics.frame_reset」は重たい処理の後に使用するとフレームスキップの発生を防ぐってもので
試しに簡易ATBでこれをコメントアウトして実行すれば違いが分かる。


なにぶん素人なんで、プログラミングの記述の仕方に問題があるのではないか?とか
思ってループ処理についてググッたりしたけどよく分からず。
「for文」と「each」どっちが軽いんだろうとか分からず。
どこかで検証していた気がしたけど。


ATB使用している人はこの対策を行なって下さい_(_^_)_


2010/11/23/Tue 01:05:59  思いつき/CM:0/TB:0/
new 注釈クエストシステム修正&機能追加 / MAIN / いっぱい修正しています old

COMMENT

COMMENT POST

/
/
/
/



 
 内緒です♪

TRACK BACK

  この記事のURL:
   http://edlogtkool.blog36.fc2.com/tb.php/676-da44e444


MAIN
copyright © 2006 「EnDlEss DREamER」ブログ. All Rights Reserved.
Template by TAE-3rd☆テンプレート工房