1

アニメーションが滑らかで素敵な Mac (Cocoa) アプリのコードを書きました。しかし、それをそのままiOSプロジェクトにコピーし、解像度重視の「The New iPad」で実行したところ、レイヤーアニメーションがなぜかギザギザになってしまいました。レイヤーが突然数ピクセル上に移動し、1 秒間停止してから、さらに数ピクセル上に突然ポップアップします。これは、非常に低いフレーム レートのアニメーションのようなものです)。

興味深いことに、古い iPad 1 で同じコードを実行すると、スムーズな結果が得られました!! x( .. Retina ディスプレイの問題であることに気付きました。

レイヤーをあまり動かさずに、かすかな(遅い)アニメーションを実行しています。(たとえば、layer.position.x を 9.1 秒の間に 10 ピクセル移動すると、レイヤーが 0.x ピクセルを補間していないことがわかりますか?)

速度を 4 倍にして (持続時間を短く) してみましたが、問題なくアニメーションしています。:/ しかし、かすかなアニメーション (遅い) には問題があります..

何か案は?

私の質問があいまいな場合、これが役立つかもしれません:

レイヤーを 10 秒間で 10 ピクセル移動します。iPad では見栄えがします (おそらく 60 FPS)。

新しいiPad(Retina)では、あたかも10 FPS(またはそのようなもの)であるかのようです!!.

4

1 に答える 1

6

Retina 画面で適切にアニメーション化するために、余分なコード行がありませんでした.. >.<

    if ([subLayer respondsToSelector:@selector(setContentsScale:)]) {
        subLayer.contentsScale = [[UIScreen mainScreen] scale];
    }

この素晴らしい男から: Retina ディスプレイ コア グラフィックスのフォント品質

(コア アニメーションに関するすべての網膜の問題に対処するため、このタイトルの方が適切であるため、質問を閉じる必要はないと思います)。

于 2012-05-19T07:30:35.017 に答える