Last Comment Bug 532544 - Firefox tears while scrolling on win32
: Firefox tears while scrolling on win32
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Layout (show other bugs)
: unspecified
: x86 Windows 7
: -- normal with 1 vote (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
:
Mentors:
Depends on: 564991
Blocks:
  Show dependency treegraph
 
Reported: 2009-12-02 16:11 PST by Jeff Muizelaar [:jrmuizel]
Modified: 2012-03-18 17:46 PDT (History)
6 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments

Description Jeff Muizelaar [:jrmuizel] 2009-12-02 16:11:09 PST
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.
Comment 1 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2009-12-02 17:08:08 PST
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.
Comment 2 Jeff Muizelaar [:jrmuizel] 2010-01-07 11:50:44 PST
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
Comment 3 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2010-01-07 12:11:50 PST
Sounds like they're all using some kind of retained backbuffer.
Comment 4 Timothy Nikkel (:tnikkel) 2012-03-05 12:32:25 PST
Maybe bug 700867.
Comment 5 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2012-03-18 17:46:03 PDT
The underlying issue in this bug was fixed when we made scrolling layer-based.

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