Closed Bug 532544 Opened 11 years ago Closed 9 years ago

Firefox tears while scrolling on win32

Categories

(Core :: Layout, defect)

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jrmuizel, Unassigned)

References

Details

This page makes it pretty clear: http://people.mozilla.org/~jmuizelaar/p/nwn-tear/builder.php

The image at the bottom makes it pretty easy to see. None of the other browsers have this problem.
This isn't a regression, FF 3.5 and 2.0 (and I'm guessing 3.0) all have the problem.

The problem is that scrolling isn't visually atomic with painting. We blit and then paint. As far as I know the only solution is to have a persistent back-buffer, so scrolling can copy within the backbuffer, then we can paint into the backbuffer, then we can blit the whole backbuffer to the screen.
I had a look at what some of the other browsers do on this page:
http://people.mozilla.org/~jmuizelaar/p/nwn-tear/test.html

IE seems to draw the entire screen using 150x[window width] bands. Tearing at the band boundaries is visible when I slow down BitBlt but not when it runs at normal speed.

Opera seems to draw the entire screen with an AlphaBlend call?

Safari may do the same with BitBlt.

None of them seem to use ScrollWindow or ScrollWindowEx
Sounds like they're all using some kind of retained backbuffer.
The underlying issue in this bug was fixed when we made scrolling layer-based.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.