عداد الوحدة FPS
في ألعاب الفيديو، الإطارات في الثانية (أو fps للاختصار) هي قيمة تمثل عدد الإطارات التي يعرضها الكمبيوتر في ثانية واحدة.
تعد الإطارات في الثانية مؤشرًا رائعًا للأداء ويمكن استخدامها أثناء عملية التحسين، أو ببساطة للحصول على تعليقات حول مدى سرعة/سلاسة تشغيل اللعبة.
في هذا البرنامج التعليمي، سأوضح كيفية إضافة عداد إطارات بسيط إلى لعبتك في Unity.
خطوات
لإظهار الإطارات في الثانية في game، سنحتاج إلى إنشاء برنامج نصي يقوم بإحصاء الإطارات وإظهارها على الشاشة.
- قم بإنشاء سكريبت جديد، وأطلق عليه اسم "SC_FPSCounter" والصق الكود أدناه داخله:
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);
}
}
- أرفق البرنامج النصي SC_FPSCounter بأي كائن في المشهد واضغط على تشغيل:
يجب الآن عرض الإطارات في الثانية في الزاوية العلوية اليسرى.