Closed Bug 749634 Opened 13 years ago Closed 13 years ago

graphical glitches with CSS transition and transform

Categories

(Core :: Web Painting, defect)

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: alice0775, Assigned: mattwoodrow)

References

()

Details

Attachments

(1 file, 1 obsolete file)

This is spin off from Bug 730166 See https://bugzilla.mozilla.org/show_bug.cgi?id=730166#c8 text flickers when resize window and click 3D then flickers #1 Regression window(m-c) Works: http://hg.mozilla.org/mozilla-central/rev/c3a50afc2243 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0a1) Gecko/20111007 Firefox/10.0a1 ID:20111007031227 Not render text: http://hg.mozilla.org/mozilla-central/rev/bd1411e362fb Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0a1) Gecko/20111007 Firefox/10.0a1 ID:20111007034151 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=c3a50afc2243&tochange=bd1411e362fb #1 Regression window(m-i) Works: http://hg.mozilla.org/integration/mozilla-inbound/rev/baa28d3f6296 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0a1) Gecko/20111006 Firefox/10.0a1 ID:20111006135449 Not render text: http://hg.mozilla.org/integration/mozilla-inbound/rev/94f2fa9f97b8 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0a1) Gecko/20111006 Firefox/10.0a1 ID:20111006153652 Pushlog: http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=baa28d3f6296&tochange=94f2fa9f97b8 #2 Regression window(m-c) Not render text: http://hg.mozilla.org/mozilla-central/rev/eb84780783ed Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0a1) Gecko/20111114 Firefox/11.0a1 ID:20111114081649 Render text but flickers: http://hg.mozilla.org/mozilla-central/rev/f694183357ec Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0a1) Gecko/20111114 Firefox/11.0a1 ID:20111114190451 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=eb84780783ed&tochange=f694183357ec #2 Regression window(m-i) Not render text: http://hg.mozilla.org/integration/mozilla-inbound/rev/6ae6d3beeaf4 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0a1) Gecko/20111113 Firefox/11.0a1 ID:20111113203057 Render text but flickers: http://hg.mozilla.org/integration/mozilla-inbound/rev/33547cc48103 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0a1) Gecko/20111113 Firefox/11.0a1 ID:20111113204348 Pushlog: http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=6ae6d3beeaf4&tochange=33547cc48103
It's all Matt I guess :-)
Assignee: nobody → matt.woodrow
This fixes assertion spam with the testcase, and improves the flickering slightly. Some of the words still flicker, looks to be invalid overflow rect calculation (no display items exist for them).
Attachment #619465 - Flags: review?(roc)
Remainder of the flicker is fixed by the patch in bug 722603.
Just spent a bunch of time with CSS 3D stuff on the weekend to create this: http://secretrobotron.github.com/crunch/ On nightly (OSX 10.7.3), flickering is still very present. Same issue?
Yes, that's fixed by this patch.
Comment on attachment 619465 [details] [diff] [review] Don't pass the cache overflow values since FinishAndStoreOverflow modifies them Review of attachment 619465 [details] [diff] [review]: ----------------------------------------------------------------- Add an assert to FinishAndStoreOverflow that its overflow areas parameter is not aliased to the property. ::: layout/generic/nsFrame.cpp @@ +6693,5 @@ > + Properties().Set(nsIFrame::InitialOverflowProperty(), initial); > + } > + *initial = aOverflowAreas; > + } else { > + Properties().Delete(nsIFrame::InitialOverflowProperty()); doing this Delete all the time is unfortunate overhead. Can we make InitialOverflowProperty only applicable if Preserves3D() || HasPerspective(), and ensure a reframe if those change? @@ +6962,3 @@ > } else { > + overflow.SetAllTo(bounds); > + } A helper function that gets InitialOverflowProperty and returns either that or the result of UnionAllWidth would be nice here.
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #6) > doing this Delete all the time is unfortunate overhead. > > Can we make InitialOverflowProperty only applicable if Preserves3D() || > HasPerspective(), and ensure a reframe if those change? I'm not sure how to do this, since both of these properties are checking something on the style context parent. I *think* we can get away with just leaving the property there if it's not needed and wait until the frame is destroyed.
Looks like I forgot to land this, and fixed the same issue in bug 806256.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: