1

CARenderer定数1./60を使用して実行される次のフレームレンダリングをスケジュールすると、すべてが正常に機能します。-[CARenderer nextFrameTime]メソッドは、レンダリングがいつ行われるべきかについて、よりきめ細かいフィードバックを提供することになっています。

次にスケジュールされたアニメーションの発生のメディア時間を取得するか、発生する予定がない場合は無限大を取得することは、何も発生していない場合でもレンダリングするための優れたソリューションです。

ただし、タイマーが起動しなくなったため(結果として無限大になったため)、イベントハンドラーを介してユーザーが開始した変更を行っても、アニメーションはまったく発生しません。レイヤーツリーに変更が発生したことを通知する方法と、スケジュールされていない場合でも次のレンダリングを開始する方法がわかりません。

KVOnextFrameTimeを介した監視は機能しません(私が期待していたことではありません)。私のユースケースでは、レイヤーをでホストすることNSViewはオプションではありません。

レイヤーツリー(またはレイヤーツリーのアニメーション)で変更が発生したことをどのようにして知ることができるので、レンダリングをトリガーできますか?

4

0 に答える 0