Class ShadowPausedNoVsyncChoreographer


A shadow for Choreographer that:
  • is based off ShadowPausedChoreographer implementation and does not support LooperMode.LEGACY
  • Uses 'no-hardware-vsync' software based frame timing managed in the real Choreographer implementation
  • Currently used when running on > BAKLAVA SDKs

The behavior should be close to the existing ShadowPausedChoreographer behavior with the following subtle timing differences:

  • The first call to Choreographer.postFrameCallback will be scheduled immediately as opposed to scheduled after frameDelay
  • Frame callbacks will always occur at fixed times. For example, using the default 15m frame delay an animation that is requesting a frame callback on every frame would see them at 100, 115, 130, etc ms, As opposed to the previous implementation that would always schedule the next frame as 15 ms from the current time. (when in !isPaused() mode)
  • Effectively uses millisecond precision for frameDelay. With no-vsync mode, Choreographer uses the Looper to schedule frame callbacks which has ms precision