Bộ đếm FPS thống nhất
Trong trò chơi điện tử, khung hình trên giây (hoặc gọi tắt là khung hình/giây) là giá trị biểu thị số khung hình mà máy tính hiển thị trong một giây.
Số khung hình mỗi giây là một chỉ báo tuyệt vời về hiệu suất và có thể được sử dụng trong quá trình optimization hoặc đơn giản là để nhận phản hồi về tốc độ/mượt mà trò chơi chạy.
Trong hướng dẫn này, tôi sẽ hướng dẫn cách thêm bộ đếm khung hình/giây đơn giản vào trò chơi của bạn trong Unity.
bước
Để hiển thị khung hình/giây trong game, chúng ta sẽ cần tạo một tập lệnh đếm khung hình và hiển thị chúng trên màn hình.
- Tạo một tập lệnh mới, gọi nó là "SC_FPSCounter" và dán đoạn mã bên dưới vào bên trong nó:
SC_FPSCounter.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SC_FPSCounter : MonoBehaviour
{
/* Assign this script to any object in the Scene to display frames per second */
public float updateInterval = 0.5f; //How often should the number update
float accum = 0.0f;
int frames = 0;
float timeleft;
float fps;
GUIStyle textStyle = new GUIStyle();
// Use this for initialization
void Start()
{
timeleft = updateInterval;
textStyle.fontStyle = FontStyle.Bold;
textStyle.normal.textColor = Color.white;
}
// Update is called once per frame
void Update()
{
timeleft -= Time.deltaTime;
accum += Time.timeScale / Time.deltaTime;
++frames;
// Interval ended - update GUI text and start new interval
if (timeleft <= 0.0)
{
// display two fractional digits (f2 format)
fps = (accum / frames);
timeleft = updateInterval;
accum = 0.0f;
frames = 0;
}
}
void OnGUI()
{
//Display the fps and round to 2 decimals
GUI.Label(new Rect(5, 5, 100, 25), fps.ToString("F2") + "FPS", textStyle);
}
}
- Đính kèm tập lệnh SC_FPSCounter vào bất kỳ đối tượng nào trong Cảnh và nhấn Play:
Fps bây giờ sẽ được hiển thị ở góc trên bên trái.