NSProgressIndicator的平滑度:incrementBy vs setDoubleValue

时间:2011-11-27 10:31:16

标签: objective-c cocoa nsprogressindicator

我怀疑NSProgressIndicator在通过incrementBy更新其值时与setDoubleValue相比,运行更顺畅。

有谁知道更新其价值的两种方法之间是否有任何真正的区别?

2 个答案:

答案 0 :(得分:0)

我对内部没有任何了解,但如果incrementBy不等于

,我会非常惊讶
[self setDoubleValue:[self doubleValue] + delta];

当然,由于它可以访问内部状态,因此可能会跳过所有方法调用。但实际上将像素渲染到屏幕上的行为几乎肯定会超过这两种方法之间的任何微小性能差异。

答案 1 :(得分:0)

  

我怀疑NSProgressIndicator的值是   与setDoubleValue相比,通过crementBy更新。

在macOS 10.14上没有任何区别。当我将maxValue设置为1000并让计时器每100毫秒调用一个方法时,无论该方法是始终调用[self.progress incrementBy:1]还是[self.progress setDoubleValue:self.step++],并且步骤都是实例变量,它看起来都是相同的类型NSUInteger最初为零。