我有一个非常简单的可可应用程序(不是iphone),它由一个覆盖整个应用程序窗口的WebView实例组成。我注意到在某些页面上,该应用程序将占用其中一个核心的100%。使用Instruments我可以看到几乎所有的时间都花在[NSView displayIfNeeded]上。向下钻取调用树会导致[WebHTMLView drawSingleRect]。在Safari中运行的同一页面工作正常,几乎没有CPU使用...
任何人都有任何想法,为什么会这样?
其他信息:
[NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(resizeToFixCPUUsage) userInfo:nil repeats:YES];
- (void)resizeToFixCPUUsage {
NSRect frame = [self.window frame];
frame.size.height -= 1;
[self.window setFrame:frame display:NO animate:NO];
frame.size.height += 1;
[self.window setFrame:frame display:NO animate:NO];
}
显示CPU使用率的仪器:
Web Inspector显示绘画(app使用100%CPU匹配实心紫色条):