0

金属製のボールなどの画像をアニメーション化する場合、幅が約 20 ピクセルで、速度が毎秒約 200 ピクセルの場合、リフレッシュ レートが毎秒 60 フレームの場合、ボールは毎秒約 3 ピクセル移動します。これは、ボールの幅の 1/6 (16%) です。(Angry Birds の場合、青い鳥はほぼ同じ 20 ピクセルのサイズであり、毎回 3 ピクセルではなく、はるかにスムーズに動いています)。

このように、ボールはギザギザの動きで動いているように見えます。それをいかにスムーズに動かすか。そのためには、1 秒あたり 60 フレームを超えるリフレッシュ レートを作成する必要がありますか。(CADisplayLinkはタイマーとして使用されるため、現在は毎秒 60 フレームです。 遅延する可能性があり、最後の更新からの経過時間が分からない場合NSTimerを除いて、更新を高速化できます。)NSTimer

4

1 に答える 1

1

私はあなたのようなことをしようとしていますが、それでも同じ不快な「ちらつき」が発生します。ここに私のコードがありますhttp://paste.ideaslabs.com/show/1FZoo6AQtu

私はいくつかのOpenGLドキュメントを読んでおり、GLKViewControllerのpreferredFramesPerSecondプロパティは有望に見えます。OGL/GLK の経験が豊富な人が手を貸してくれるかもしれません。

于 2012-05-17T12:48:42.797 に答える