CoreAnimation生涩与大窗口

时间:2009-07-29 00:31:00

标签: cocoa core-animation

我有一个非常简单的CA演示。它创建一个包含图像文件内容的图层,并显示该图像。当您在窗口中单击时,它使用隐式动画将图像平滑地移动到鼠标点。这很好用,运行完美顺畅。但是,随着窗口变大,平滑度变得越来越小。低于约75%的屏幕尺寸是可以接受的。使用最大化窗口或全屏模式,它非常粗糙和生涩。

我在intel Mac Mini上运行OSX 10.5.7。它有一个英特尔GMA950 GPU。我的屏幕是1920 x 1200.

我根本没有drawRect方法。通过使用隐式动画设置CALayer的position属性,一切都会发生。

我怀疑这里的硬件有问题吗?

Neil Baylis

1 个答案:

答案 0 :(得分:0)

您的硬件很好且功能强大 - 缺乏实施。

您不得动画或甚至触摸位置属性。如果是图层支持,则该属性由视图处理。不是你。并在很多场合重新计算。因此,如果您开始制作动画并更改该属性,则会遇到麻烦。至少根据Apple ...

这是摘录

根据Apple - > 要在OS X中为层支持视图的更改设置动画,最好使用视图本身的接口。您应该很少(如果有的话)直接修改附加到某个图层支持的NSView对象的图层。 AppKit负责创建和配置这些图层对象,并在您的应用运行时管理它们。修改图层可能会导致它与视图对象不同步,并可能导致意外结果。对于图层支持的视图,您的代码绝对不能修改图层对象的以下任何属性:     •anchorPoint     •界限     •compositingFilter     •过滤器     •框架     •geometryFlipped     •隐藏     •位置     •shadowColor     •shadowOffset     •shadowOpacity     •shadowRadius     •转换