下面的代码能够测速帧率并且显示出来
如果报错的话,可能你没有使用插件TextMeshPro,这是unity2018自带的插件,你可以装一个或者更改使用普通的UI来显示。
引用AverageFPS就行了。
public int frameRange = 60;
public int AverageFPS { get; private set; }
private int[] fpsBuffer;
private int fpsBufferIndex;
public int HighestFPS { get; private set; }
public int LowestFPS { get; private set; }
private void Update()
{
if (fpsBuffer == null || fpsBuffer.Length != frameRange)
{
InitializeBuffer();
}
UpdateBuffer();
CalculateFPS();
}
private void CalculateFPS()
{
int sum = 0;
for (int i = 0; i < frameRange; i++)
{
sum += fpsBuffer[i];
}
AverageFPS = sum / frameRange;
}
private void UpdateBuffer()
{
fpsBuffer[fpsBufferIndex++] = (int) (1f / Time.unscaledDeltaTime);
if (fpsBufferIndex >= frameRange)
{
fpsBufferIndex = 0;
}
}
void InitializeBuffer()
{
if (frameRange <= 0)
{
frameRange = 1;
}
fpsBuffer = new int[frameRange];
fpsBufferIndex = 0;
}