Jump to content
Unity Insider Forum
Thariel

FPS Anzeige

Recommended Posts

Hier mein Script zur Anzeige der FPS.

Einfach der Szene hinzufügen (vorzugsweise auf ein Text Ui) und eine Referenz eines beliebigen Text Ui hinzufügen.

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

/// <summary>
/// This script calculate the current fps and show it to a text ui.
/// </summary>
public class UiDisplayFps : MonoBehaviour
{
    public string formatedString = "{value} FPS";
    public Text txtFps;

    public float updateRateSeconds = 4.0F;

    int frameCount = 0;
    float dt = 0.0F;
    float fps = 0.0F;

    void Update()
    {
        frameCount++;
        dt += Time.unscaledDeltaTime;
        if (dt > 1.0 / updateRateSeconds)
        {
            fps = frameCount / dt;
            frameCount = 0;
            dt -= 1.0F / updateRateSeconds;
        }
        txtFps.text = formatedString.Replace("{value}", System.Math.Round(fps, 1).ToString("0.0"));
    }
}

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Moinsen
Finde es gut das du dir die mühe gemacht hast eins zuschreiben ^^
Aber Unity hat dies doch schon seit Jahren als Standard Asset integriert ^^
unter Standard Assets/Utility/FPSCounter.cs
Jetzt ist nur die Frage ob deins Effizienter ist da es auch Kompakter ist ^^
Hab deins mal auf das Minimum gekürzt was grad auf die schnelle ging.
weil 

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

brauchste in dem Script sowieso nicht ^^

using UnityEngine; using UnityEngine.UI;
public class FPSC : MonoBehaviour
{   //Vars
#region
public string formatedString = "{value} FPS";
public Text txtFps;
public float updateRateSeconds = 4.0F;
int frameCount = 0;float dt = 0.0F;float fps = 0.0F;
#endregion
void Update(){
frameCount++; dt += Time.unscaledDeltaTime;
if (dt > 1.0 / updateRateSeconds){fps = frameCount / dt; frameCount = 0; dt -= 1.0F / updateRateSeconds;}
txtFps.text = formatedString.Replace("{value}", System.Math.Round(fps, 1).ToString("0.0"));}}

Da man das Script sowieso nicht mehr nachbearbeiten muss kann man es ja so lassen ^^ und später einfach via setactive an oder ausschalten wenn mans mal braucht ^^

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×