如何系统地测量Web浏览器中WebGL / Unity世界的每秒帧数(FPS),FT(帧时间),峰值多边形数量

时间:2015-07-02 17:37:23

标签: google-chrome firefox unity3d frame-rate unity-webgl

我想测量实验目的FPS,FT和多边形数量以及从UNY为Web创建的世界/游戏的其他图形参数(诸如平均FPS或FT,最小值,最大值 - 所有这些统计信息)。换句话说,我如何测量FPS,FT和多边形数量...对于WebGL世界和网络上的Unity世界?CPU利用率,GPU利用率和内存也是很好的衡量标准。有没有工具可以做到这一点?知道我需要为此绘制CDF(累积分布函数)和概率dist图。我知道有Chrome DevTools和Firefox Devtools,但它们非常复杂。万一他们对你的意见有帮助(虽然我不这么认为)是否有任何简单的教程/书籍教我如何做到这一点?

1 个答案:

答案 0 :(得分:0)

为了检查帧时间,只需在Update中读取Time.deltaTime,它始终是从最后一帧开始的时间。对于fps,我所知道的唯一方法是等待一秒钟,计算每一帧(更新时,只需将1添加到帧计数器)和花费的时间(deltaTime),当增量时间达到1秒或超过它时,划分时间/帧数。我不知道你怎么能得到多边形数,但你可以在分析器中看到它,所以应该可以(?)。

例如:

int frameCounter;
float totalFrameTime, fps;
void Update()
{
  frameCounter++;
  float frameTime = Time.deltaTime;
  totalFrameTime += frameTime;
  if (totalFrameTime >= 1) //or 2 or 3
  {
     fps = totalFrameTime / frameCounter;
     frameCounter = 0;
     totalFrameTime = 0;
  }
}

对于cpu利用率,您可以使用.NET库,请参阅this