在我目前的iPhone游戏项目中,我使用的是UIView,它们是一些游戏元素(它们是tiles)。一个接一个地设置动画效果很好,或者是在一个小系列中(同时设置5个UIView动画)。
但是,一旦我决定让这些UIView一起更大规模地动画,我就开始遇到一些奇怪的渲染问题(整个iPod触摸屏变成黑色,然后在动画完成或接近完成时闪回到游戏视图,在其他情况下,屏幕在试图动画时在黑色和实际游戏视图之间闪烁)。
我已经做了几次测试,到目前为止,看起来18 UIView的动画没有任何问题,但是一旦我到了30 UIView,我就会看到这个渲染问题。我使用的动画过渡是“从右翻转”。
是否有一个动画线程可以一次运行的最大值?
我在我的子类UIView上调用了一个方法,它执行标准的begin动画提交动画。我正在将缓存设置为YES。
你知道渲染错误的原因是什么吗?
提前感谢您的合作。
发布于 2010-02-04 02:10:53
不存在可以同时运行的动画的显式最大值。
但是,每个动画都会占用内存和CPU。当然,这在很大程度上取决于你正在做的动画的类型。
所以你可能想同时做太多的动画。
在许多情况下,使用UIView
动画都很好,但有时您必须使用更合适的工具,如OpenGL。也许你正处于这种情况。
发布于 2010-02-04 02:11:09
如果您尝试大量使用UIView动画,则可能会遇到内存问题或图形处理器限制。您可能希望尝试对层执行此操作,但GPU可以处理的内容存在限制。
https://stackoverflow.com/questions/2194186
复制相似问题