0

我们在应用程序中使用 OpenGL 视图来执行一些自定义动画,遇到了一个非常非常奇怪的问题。一旦将 Open GL View 添加到项目中,所有原生 View 动画都会变慢。减速并不意味着帧速率下降。动画没有卡顿,除了比正常慢得多(比如有人在模拟器中启用了“切换慢速动画”)。

这仅影响视图转换动画,例如:transitionFromView b. presentViewController(iOS6,或者更早的presentModalViewController)

虽然常规的 UIView 动画、CABasicAnimation 等以常规速度进行。

我还没有见过这样的事情,老实说,必须看到结果才能相信。:) 但是知道问题可能是什么(我不确定哪段代码可以帮助您调试,不幸的是我无法分享屏幕截图或视频)

4

2 回答 2

0

似乎动画在加载 OpenGL 视图时卡住了,调试生命周期方法,如 loadView、viewWillLoad。loadview 等发生在过渡动画中,也许您可​​以通过将大部分加载代码发送到您在 viewdidload 或 viewdidappear 中调用的自定义方法来解决慢速动画。

它不会中断任何其他动画,因为那是队列中的全新动作。

希望这可以帮助!

于 2012-10-22T11:29:51.963 回答
0

几天后无意中找到了解决方案。

事实证明这个问题更加愚蠢和无关。碰巧的是,如果您有一个未正确关闭的 UIView beginAnimation 块,未来的动画就会变得很不稳定。这个错误编码的动画恰好在 OpenGL 视图初始化的同时触发,这导致我错误地认为 OpenGL 视图是其根源。

谢谢您的帮助!

于 2013-01-05T22:20:45.813 回答