【发布时间】:2012-05-19 07:21:13
【问题描述】:
我为 Mac (Cocoa) 应用程序编写了一些代码,其中的动画流畅而可爱。但是,我将它原样复制到 iOS 项目中,并在分辨率最高的“新 iPad”上运行它,并且由于某种原因,图层动画是锯齿状的。图层突然向上移动了几个像素,然后停了一秒钟,然后又突然弹出了几个像素,就像一个帧率很低的动画。
有趣的是,在旧 iPad 1 上运行相同的代码得到了流畅的结果!! x( .. 让我意识到这是视网膜显示问题。
我正在做一个微弱(缓慢)的动画,并没有过多地移动图层。 (例如,在 9.1 秒的时间内将 layer.position.x 移动 10 个像素。这提示我们该层没有对 0.x 像素进行插值?)
我尝试将速度提高四倍(减少持续时间),它的动画效果没有问题。 :/ 但是,微弱的动画(慢)有问题..
有什么想法吗?
如果我的问题含糊不清,这可能会有所帮助:
在 10 秒的时间内将图层移动 10 像素。在 iPad 上,它看起来很棒(大概 60 FPS)。
在新的 iPad(视网膜)上,它好像是 10 FPS(或类似的东西)!!。
【问题讨论】:
标签: ios animation core-animation calayer retina-display