我试图执行一些全屏幕动画效果,如移动/缩放窗口和效果,如文件如何“跳入”下载文件夹中的Safari。
我的第一次尝试是制作带有NSImageView内容视图的窗口,并使用CoreAnimation将窗口移动到屏幕周围。这非常失败,因为CoreAnimation显然在用这种方式绘制窗口时非常慢(NSViewAnimation也失败了)。令人惊讶的是,网络上并没有多少这样的文章,或者说没有人这样做,或者他们没有出现性能问题。
我剩下的其他想法是制作一个全屏幕透明窗口,并在窗口内动画NSViews (使用CoreAnimation),或者使用sprites执行全屏透明OpenGL上下文。
其他选项是什么,或者有什么方法使CA动画窗口流畅?这对于CoreAnimation来说应该很容易,所以我很困惑。谢谢你们!
发布于 2015-04-05 01:45:17
我放弃了几个月,直到找到了一个例子的链接:
http://www.cimgf.com/2008/03/15/core-animation-tutorial-dashboard-effect/
最有效的基本解决方案是只使用全屏幕透明窗口和CALayers (如果可能的话没有阴影),并且只对这些层进行动画化。使用NSView或NSWindow将无法工作。
我相信,通过在透明窗口中设置2D OpenGL上下文,您可以获得相同的性能,但这将增加开销。类似地,SpriteKit或Cocos2D可能与纯CALayers或OpenGL上下文相同。
https://stackoverflow.com/questions/27240541
复制相似问题