我有一个简单的测试Cocoa应用程序,在OS X 10.7.5上的XCode 4.5下运行。该应用程序包含一个NSWindow。窗口的内容视图是一个自定义视图,其drawRect方法生成一个图像(非常快)并使用CGContextDrawImage在视图中绘制它。没有缩放或任何其他操纵。
我一直在使用UpTime()调用计时。绘图操作最初相当快,大约5毫秒。但是,在实时调整大小期间,CGContextDrawImage在返回之前需要大约一秒(类似于1020毫秒)。我在一台运行10.7.5的慢速计算机上试了一下,一台运行10.6.8的快速计算机,有小窗口和大窗口,有或没有光标显示;总是一样的结果。绘图期间的实际CPU使用率非常低。感觉好像系统在实时调整大小期间限制了重绘,而且没有其他时间。
如果我只用纯色填充矩形,我就不会产生这种效果。
知道发生了什么事吗?