Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSTimer对象的最佳值是什么?_Iphone_Cocoa_Core Animation_Nstimer - Fatal编程技术网

Iphone NSTimer对象的最佳值是什么?

Iphone NSTimer对象的最佳值是什么?,iphone,cocoa,core-animation,nstimer,Iphone,Cocoa,Core Animation,Nstimer,我正在写一些应用程序。我有一些自定义视图的类。在视图中,有一个计时器正在调用“setNeedsDisplayInRect”方法。我需要的计时器是非常进攻的动画目的(并没有非常复杂的动画)。我已设置计时器的值:0.0001。这个值不是太大吗?应用程序正在使用它正常工作。不要为此使用NSTimer。使用。它将以设备的最佳速率运行 设置如下: self.displayLink = [self.view.window.screen displayLinkWithTarget:self selector:

我正在写一些应用程序。我有一些自定义视图的类。在视图中,有一个计时器正在调用“setNeedsDisplayInRect”方法。我需要的计时器是非常进攻的动画目的(并没有非常复杂的动画)。我已设置计时器的值:0.0001。这个值不是太大吗?应用程序正在使用它正常工作。

不要为此使用
NSTimer
。使用。它将以设备的最佳速率运行

设置如下:

self.displayLink = [self.view.window.screen displayLinkWithTarget:self selector:@selector(setNeedsDisplayForMyView)];
[self.displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
并定义一个方法
setNeedsDisplayForMyView

- (void)setNeedsDisplayForMyView
{
    [self.view setNeedsDisplayInRect:self.dirtyRect];
}

不要为此使用
NSTimer
。使用。它将以设备的最佳速率运行

设置如下:

self.displayLink = [self.view.window.screen displayLinkWithTarget:self selector:@selector(setNeedsDisplayForMyView)];
[self.displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
并定义一个方法
setNeedsDisplayForMyView

- (void)setNeedsDisplayForMyView
{
    [self.view setNeedsDisplayInRect:self.dirtyRect];
}

如果您正在制作动画,您是否尝试过核心动画或UIView动画?这可能比使用计时器自己制作动画更容易一些。

如果您正在制作动画,您是否尝试过核心动画或UIView动画?这可能比使用计时器自己制作动画要容易一些。

你见过以每秒一万帧的速度渲染的动画吗?因为这正是您当前正在尝试做的…幸运的是,runloop和绘图系统都不允许您这样做,所以您只是在消耗您正在尝试的处理周期的一小部分。除此之外,请参见rob或Randall的答案,在螺丝刀合适的地方不要使用锤子。没错)考虑到这一点,将其更改为1.0/60.0您是否见过以每秒10000帧的速度渲染的动画?因为这正是您当前正在尝试做的…幸运的是,runloop和绘图系统都不允许您这样做,所以您只是在消耗您正在尝试的处理周期的一小部分。除此之外,请参阅rob或Randall的答案,并在螺丝刀合适的地方避免使用锤子。没错)考虑到这一点,将其更改为1.0/60.0