更改CADisplayLink的区间

我用CADisplayLinkreplace了NSTimer 。 我有它正常工作,但它运行得太慢了。 我怎么能把这个加快呢? 这是我正在使用的代码:

在接口中我声明了一个实例variables:

 CADisplayLink *displayLink; 

在viewDidLoad中创build对象:

 displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(onTimer)]; [displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes]; 

被调用的方法是onTimer 。 所以我的问题是:我怎么加快这被称为多久?

CADisplayLink绑定到显示刷新率的计时器。 这是一个具体任务的具体工具:不要画时,不必要的。

如果你不需要这个,只需要用你需要的任何时间间隔来使用NSTimer。

如果你需要在某些特定的时间间隔调用你的方法,这取决于刷新率(例如你需要在重新绘制之间做两次),你必须稍微修改你的调度器。
您关心的属性有两个: -[CADisplayLink timestamp]-[CADisplayLink duration] 。 您可以根据这些属性计算下次通话的时间。

对于任何人在这里看。 达到这个效果有些可能。 通过改变preferredFramesPerSecond属性。 ( frameInterval以前的frameInterval )。 虽然,肯佐是正确的说这应该只用于特别要求的地方。 否则,使用NSTimer。