【问题标题】:Can it be possible to determine Frames Per Second If i use CAEAGLLayer?如果我使用 CAEAGLLayer,是否可以确定每秒帧数?
【发布时间】:2014-12-23 07:43:15
【问题描述】:

我正在尝试计算每秒帧数。

在我的代码中:

 @interface myView : UIView
  {
  }

而且,在 .m 文件中

    + (Class) layerClass
    {
        return [CAEAGLLAYER class];
    }

我尝试使用 CADisplayLink: 喜欢:

 @interface myView : UIView
  {
  }
  @property (nonatomic, strong) CADisplayLink *dLink;

和.m文件

  1. dLink = [CADisplayLInk] ... selector (Mycallback:));
  2. adding currentRunLoop to dLink. 

问题: “MyCallback”每秒调用 60 次,与渲染速度无关。 我从中了解到的是,“MyCallback”是以与当前fps无关的屏幕刷新率调用的。

问题:

“计算 CAEAGLLayer 中发生的真实 fps 的方法是什么”。

注意:我在 GStreamer 中使用这个 CAEAGLLayer [ UIView]。

【问题讨论】:

  • 声明render [CAEAGLLAYER class];有什么作用?
  • 感谢您的指出。错字错误。这是'回归'。 :) 编辑问题。
  • 我相信帧速率是固定在 60 FPS,并且你已经确认你自己作为你的回调函数被每一帧调用。
  • 要设置frameInterval吗?默认 fps 为 60,而您可以将 frameInterval 设置为 2,fps 为 30。
  • 感谢您的回复。我想要得到的是例如:我有一个回调,应该在每次渲染帧时调用。

标签: ios iphone ios5 core-animation quartz-graphics


【解决方案1】:

要更改 FramePerSecond,

self.displayLink.frameInterval = 2;

虽然默认值为 1,但 FramePerSecond = 60 / frameInterval。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2012-02-16
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多