Open Bug 1889267 Opened 2 years ago

Try removing the performance hack in SampledAPZCState::RemoveFractionalAsyncDelta()

Categories

(Core :: Panning and Zooming, task, P3)

task

Tracking

()

People

(Reporter: botond, Unassigned)

References

Details

We have a function called SampledAPZCState::RemoveFractionalAsyncDelta() with the following description:

  // This function is a performance hack. With non-WebRender, having small
  // fractional deltas between the layout offset and scroll offset on
  // container layers can trigger the creation of a temporary surface during
  // composition, because it produces a non-integer translation that doesn't
  // play well with layer clips. So we detect the case where the delta is
  // uselessly small (0.01 parentlayer pixels or less) and tweak the sampled
  // scroll offset to eliminate it. By doing this here at sample time rather
  // than elsewhere in the pipeline we are least likely to break assumptions
  // and invariants elsewhere in the code, since sampling effectively takes
  // a snapshot of APZ state (decoupling it from APZ assumptions) and provides
  // it as an input to the compositor (so all compositor state should be
  // internally consistent based on this input).

The comment suggests the motivation for this code is specific to non-WebRender. Since we now use WebRender everywhere, we should try removing this.

You need to log in before you can comment on or make changes to this bug.