毎フレーム呼び出されるってどのくらいなの?
Update()は毎フレーム呼び出されるとのこと。
って言われてもフレームってどのくらいの頻度で呼び出されるのか?が分からないですよね。
今回は新規プロジェクトに対してどのくらいUpdateが呼び出されるのかを検証しました。
※各個人のPCのスペックによってこのフレームが呼び出される頻度が違う可能性があります。
PCの性能によって処理能力が違うので今回の検証結果は私のPCの場合はということで承知ください。
前提条件
3Dの新規プロジェクトを作成し空のゲームオブジェクトを作成しました。
で、ここにUpdateテスト用のC#Scriptをアタッチしています。
この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がどのくらいの頻度で実行されているかイメージできたのではないでしょうか。
ほんの少し参考になれば幸いです。