LoginSignup
1
1

More than 5 years have passed since last update.

Enumeratorは分割してもフレーム遅延しない

Posted at

 yield return YieldInstructionが1フレーム遅延するので(前記事)、yield return IEnumeratorはフレーム遅延するのか気になりました。結果は遅延なし。以下確認コードと結果。Unity2017.2 0p4 Windows版のEditorによるテストです。

CalledEnumeratorTest.cs
using System.Collections;
using UnityEngine;

public class CalledEnumeratorTest : MonoBehaviour
{
    IEnumerator Start()
    {
        Log("Start");
        yield return BeCalled();
    }

    IEnumerator BeCalled()
    {
        Log("BeCalled");
        yield return null;
        Log("BeCalledAfterOneFrame");
    }

    void Log(string message)
    {
        Debug.Log(Time.time.ToString("n5") + " :" + message);
    }
}
結果
0.00000 :Start
0.00000 :BeCalled
0.02000 :BeCalledAfterOneFrame

メンテナンスや可読性のために肥大化したIEnumeratorは分割しても大丈夫そうです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1