Updateは1秒間に何回実行されるのか?[Unity]

Unity

毎フレーム呼び出されるってどのくらいなの?

Update()は毎フレーム呼び出されるとのこと。
って言われてもフレームってどのくらいの頻度で呼び出されるのか?が分からないですよね。

今回は新規プロジェクトに対してどのくらいUpdateが呼び出されるのかを検証しました。
※各個人のPCのスペックによってこのフレームが呼び出される頻度が違う可能性があります。

PCの性能によって処理能力が違うので今回の検証結果は私のPCの場合はということで承知ください。

前提条件

3Dの新規プロジェクトを作成し空のゲームオブジェクトを作成しました。
で、ここにUpdateテスト用のC#Scriptをアタッチしています。

TestというC#Scriptを作成しUpdateの処理をテストします

このTestのスクリプトの中身は以下です。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{
    public int count = 0;
    // Start is called before the first frame update
    void Start()
    {
        count = 0;
        Debug.Log(Time.time); // 0秒時点の時間を表示。当然0が表示されるはず...
    }

    // Update is called once per frame
    void Update()
    {
        count = count + 1;  // Updateが呼び出される毎にカウントアップする
        if (Time.time > 1f) // 1秒を超えたら表示する
        {
            Debug.Log("FINISH!!!");
            Debug.Log("count = " + count);
            Debug.Log("Time.time = " + Time.time);
        }

    }
}

実行結果がこちら

私の端末では1秒で68フレームが処理されたらしいです。

1秒に68フレームってすごいですね。
1秒で68回Updateに記載されたなにかしらの処理をしてくれるってことです。

全然分からない人(俺)からしたらちょっとはUpdateがどのくらいの頻度で実行されているかイメージできたのではないでしょうか。

ほんの少し参考になれば幸いです。

Photo by Sergey Shmidt on Unsplash


タイトルとURLをコピーしました