0

我对 Kick.js 很感兴趣。为了说服我的教授使用这个框架,我想开发一个应用程序,我可以使用 kick.js 加载/编码自定义 3D 模型,并且应该能够添加更多对象。当我在画布上添加更多 3D 对象时,我还应该能够打印 FPS 以检查 FPS 的变化。我是图形编程的新手,既不了解着色器编程,也不了解 openGL。作为一个新手,我该如何开始深入研究这个框架?

我想实施的以下步骤(如果我出错了,建议我):

  1. 使用 kick.js 在画布上加载单个立方体或球体或茶壶开发简单的演示。
  2. 当我改变相机角度时能够看到fps。
  3. 稍后我应该能够在相同类型的画布上添加更多三角形(模型)(例如:茶壶),并能够将 fps 与单个茶壶进行比较。

我是在接近正确的方式还是请需要的建议。提供的教程都没有 FPS 演示。请有人帮助我。我真的很喜欢主页上所述的功能,但我不知道如何在我的演示中实现它们。

4

1 回答 1

0

假设 Kick.js 有一个“渲染”回调或类似的东西,为您要渲染的每一帧调用(并且您知道帧之间的时间,或自程序启动以来的绝对时间),计算帧速率相当简单。

我之前使用的方法是:选择一个采样率(我喜欢 250 毫秒,所以它每秒更新 4 次),然后计算每 250 毫秒执行了多少帧。当您达到 250 毫秒时,更新屏幕上的帧速率计数器变量并重新开始计数。

timeSinceLastFPSUpdate += millisecondsSinceLastFrame;
framesSinceLastFPSUpdate++;
if timeSinceLastFPSUpdate > 250:
    timeSinceLastFPSUpdate = 0
    fps = framesSinceLastFPSUpdate * (1000 / 250); // convert "frames per 250ms" to "frames per 1s"
    framesSinceLastFPSUpdate = 0;

print fps to screen;

您可以使用不同的采样率或使用不同的帧率计算方法来使计时器更“准确”(以更好地找到帧率下降),但听起来您正在寻找不太准确的东西,只是让您对渲染的整体复杂性有一个合理的了解,而不是逐帧下降。

于 2012-11-01T17:13:21.773 回答