Xcode 6: iOS Swift。如何获得游戏帧率(fps)?

Xcode 6: iOS Swift. How to get in game frame rate (fps)?

在我当前 Swift 的 iOS 项目中,我需要将一个变量除以我 运行 所在设备上的当前 FPS。就我而言,程序是 运行 在我的 iPad mini 上。我没有看到执行此操作的功能或任何功能。有任何想法吗?提前致谢!

然而,在 "GameViewController.swift" 中有一行:

skView.showsFPS = true

但是我无法访问这个值。

您可以在didMoveToView:(SKView *)view方法中访问SKViewframeInterval属性。

如果值为 1,则 运行 为 60 FPS。如果该值为 2,则您 运行 为 30 FPS。还有什么,拿出你的计算器。

您可以在 Apple SKView 中阅读更多详细信息 docs

您在 GameViewController 中设置了 FPS:

skView.frameInterval = 2;

将整数转换为浮点数:

int myInt = 10;
float myFloat = (float)myInt;

我以前从未使用过 iOS,但是在 android 我在 onDraw 函数上使用了类似这样的东西:

dt = currentTime - lastTime;
lastTime = currentTime;         
tempDt += dt;
fps += 1;
if (tempDt >= 1000) {
    Log.d("FPS", String.format("%d", fps));
    tempDt = 0;
    fps = 0;
}