トリガーエディターと共に散りぬ

ゲームに関する、日本語の記事が出回ってなさそうな小ネタなど

微妙な時間差の検証

ふと、on enterからcondition、conditionから次のstateのon enterの

タイムラグってどんなもんだろう?と思って調べてみました。

 

まずはこんな感じに横並びのおじさんを配置。

f:id:ms2messer:20190726212702p:plain

 

1パターン目(conditionから次のstateのon enter)

f:id:ms2messer:20190726212912p:plain

ステートの終わりにおじさんをONにして、

次のステートのOnEnterでおじさんをOFFにしました。

するとこんな感じ

youtu.be

 

2パターン目(on enterからcondition)

f:id:ms2messer:20190726213323p:plain

ステートの冒頭でONにして、そのステート内のConditionでOFFにしてしまうパターン。

するとこんな感じ

youtu.be

 

おわかりいただけただろうか・・・・

 

わかりにくかったので音(レバー)をつけてもう一度。

前半がパターン1、後半がパターン2

youtu.be

 

どうやら

on enter→conditonのほうが、condition→次のstateのon enterより

若干処理が遅いようです。

conditionにはif文が含まれるので、そこでわずかながら考える時間が挟まった

と思えばわからなくもないような結果でした。

ライトを点けてすぐ消す!みたいな処理は、

on enterでつけて→conditionで消すとしたほうが

ちゃんと一瞬点いたことが視認出来てよさそうです。 

 (メモ:その一瞬の点灯をトリガーとして別のネットワークパソコンが処理開始できるか?は要検証)

 

・・・ということは、if文は3つ書けるけど、

3つ目のifに到達するまでに時間がかかるのか!?

ということで次の実験

f:id:ms2messer:20190726214133j:plain

細かい解説ははぶきますが、

ONOFFすればIF文の1つ目を読んだり3つ目を読んだりするような

スイッチを増設しました。

 

結果はこちら。わかりにくいですが、途中でレバー操作をしています。

youtu.be

 

うん、全然違いがわからん・・・

ということで、if文が1つ目だろうと3つ目だろうと処理速度に違いはなさそうです。

 

 

最後に、複数ホームネットワークパソコンを置いて処理を書いた後、

家に入りなおした際にそれぞれが処理開始するタイミングにズレはあるのか?

というのを調査してみました。

 

f:id:ms2messer:20190726214659p:plain

こんな感じでおじさんを3列配置して、

1列、1ホームネットワークパソコンで順繰りに動かしていく設定をしました。

ソースは単純に、順繰りにまわすだけ

f:id:ms2messer:20190726214907j:plain

 

 

設定後一度家をでて、帰ってきた状態がこちら。

youtu.be

全列、見事に動きがそろいましたね。完全に同じタイミングでロードされるようです。

 

 

また、保存するタイミングでずらせるのか?と思ったら

youtu.be

 

初期化はともかく、保存して再ロードも

全部のネットワークパソコンに適用されるんですね・・・。知らなかった。

 

 なんだかおもしろい気づきが得られたような、そうでもないようなw