본문 바로가기
프로그래밍/Unity

FPS (Frame Per Sec) Display 표시, 출력하기

by neive 2018. 9. 10.
728x90


이미 많이 올라와있는 소스지만 F9 를 누르면 표시되는 기능에

지역변수 사용을 줄여 가비지 덜 생기게 개조한 버전 입니다


예제


using UnityEngine;

public class FPSChecker : MonoBehaviour
{
    /// <summary>
    /// for Check
    /// </summary>
    float m_fDeltaTime = 0.0f;

    /// <summary>
    /// for Display
    /// </summary>
    bool m_bGUI = false;
    float m_fStartX;
    Rect m_Area;
    GUIStyle m_UIStyle = new GUIStyle();
    public Color m_Color = Color.green;

    private void Awake()
    {
        m_fStartX = (Screen.width - 100) * 0.5f;
        m_Area = new Rect(m_fStartX, 0, 100, 20);
        m_UIStyle.alignment = TextAnchor.UpperLeft;
        m_UIStyle.fontSize = Screen.height * 2 / 100;
        m_UIStyle.normal.textColor = m_Color;
    }

    void Update()
    {
        m_fDeltaTime += (Time.unscaledDeltaTime - m_fDeltaTime) * 0.1f;

        if (Input.GetKeyDown("f9"))
            m_bGUI = !m_bGUI;
    }

    void OnGUI()
    {
        if (m_bGUI == false)
            return;

        GUI.Label(m_Area, string.Format("{0:0.0} ms ({1:0.} fps)", m_fDeltaTime * 1000.0f, 1.0f / m_fDeltaTime), m_UIStyle);
    }
}



728x90

'프로그래밍 > Unity' 카테고리의 다른 글

cannot mark assets and scenes in one assetbundle  (0) 2018.10.04
m_AssetBundleManifest 이 null 일 때  (0) 2018.09.28
Snapshot / Screenshot 생성  (0) 2018.07.27
Super ScrollView  (0) 2018.01.24
[Unity3D] Singleton  (0) 2018.01.03

댓글