Flickering when resizing on windows nightly

RESOLVED FIXED in Firefox 37

Status

()

Core
Graphics: Layers
RESOLVED FIXED
4 years ago
2 years ago

People

(Reporter: BenWa, Assigned: bas)

Tracking

({regression})

unspecified
mozilla38
x86
Windows 7
regression
Points:
---

Firefox Tracking Flags

(firefox36 unaffected, firefox37+ fixed, firefox38+ fixed)

Details

(Whiteboard: gfx-noted)

Attachments

(1 attachment)

(Reporter)

Description

4 years ago
Running D3D11 OMTC with D2D. I get flickering when resizing. This is on NVIDIA Quadro 600.
Flags: needinfo?(bas)
(Reporter)

Comment 1

4 years ago
I still get it without D2D.

Problem goes away once I set layers.d3d11.force-warp. Quadro driver bug?
(Reporter)

Comment 2

4 years ago
Jeff is reproducing it on his Intel box. Not related to Quadro.
(Assignee)

Comment 3

4 years ago
(In reply to Benoit Girard (:BenWa) from comment #0)
> Running D3D11 OMTC with D2D. I get flickering when resizing. This is on
> NVIDIA Quadro 600.

I'm not sure what info you want from me? My Quadro K1000 doesn't reproduce it, nor does my ATI. I'd need at the very least a screencast to say anything sensible about it. It might be related to a relatively slow GPU with a very large amount of pixels to fill? There's some bugs on flickering when playing with the NC area I seem to recall, but those don't occur on release. It could be we're not properly completing a present before a WM_PAINT message finishes? Confirming any of those things would require some logging on a machine that has this issue.
Flags: needinfo?(bas)
(Reporter)

Comment 4

4 years ago
It's not a GPU specific bug. Looks like a general d3d11 hardware bug.
(Assignee)

Comment 5

4 years ago
I stand corrected, I see the flicker on nightly.. just not on release.. I wonder if this is related to partial presents, or if something else is causing it. I feel I didn't see this a couple of days ago so I think it might be something else.
(Reporter)

Comment 6

4 years ago
Sounds like a regression.

Can we get a regression window making sure about about:support is reporting: d3d11
Keywords: regression, regressionwindow-wanted

Comment 7

4 years ago
(In reply to Bas Schouten (:bas.schouten) from comment #3)
> (In reply to Benoit Girard (:BenWa) from comment #0)
> > Running D3D11 OMTC with D2D. I get flickering when resizing. This is on
> > NVIDIA Quadro 600.
> 
> I'm not sure what info you want from me? My Quadro K1000 doesn't reproduce
> it, nor does my ATI. I'd need at the very least a screencast to say anything
> sensible about it. It might be related to a relatively slow GPU with a very
> large amount of pixels to fill? There's some bugs on flickering when playing
> with the NC area I seem to recall, but those don't occur on release. It
> could be we're not properly completing a present before a WM_PAINT message
> finishes? Confirming any of those things would require some logging on a
> machine that has this issue.

(In reply to Benoit Girard (:BenWa) from comment #6)
> Sounds like a regression.
> 
> Can we get a regression window making sure about about:support is reporting:
> d3d11
Flags: needinfo?(bgirard)
(Reporter)

Comment 8

4 years ago
[Tracking Requested - why for this release]:
We should not ship with this regression. Requesting blocking so that we don't accidentally ship this.
status-firefox37: --- → affected
tracking-firefox37: --- → ?
Flags: needinfo?(bgirard)
(Reporter)

Comment 9

4 years ago
(In reply to Alice0775 White from comment #7)
Sorry, I'm not sure what you're asking. The information about the Quadro is obsolete. It reproduces on all configurations and GPU running D3D11 we have seen so far including Intel.

Comment 10

4 years ago
(In reply to Benoit Girard (:BenWa) from comment #9)
> (In reply to Alice0775 White from comment #7)
> Sorry, I'm not sure what you're asking. The information about the Quadro is
> obsolete. It reproduces on all configurations and GPU running D3D11 we have
> seen so far including Intel.

Provide a screencast
Provide a regression window
Paste "Graphic section" of about:support
Flags: needinfo?(bgirard)
(Assignee)

Comment 11

4 years ago
(In reply to Alice0775 White from comment #10)
> (In reply to Benoit Girard (:BenWa) from comment #9)
> > (In reply to Alice0775 White from comment #7)
> > Sorry, I'm not sure what you're asking. The information about the Quadro is
> > obsolete. It reproduces on all configurations and GPU running D3D11 we have
> > seen so far including Intel.
> 
> Provide a screencast
> Provide a regression window
> Paste "Graphic section" of about:support

The bug reproduces on any Windows 7+ machine running with hardware acceleration as far as we can tell. It's very obvious as while resizing the window will flicker an annoying black before drawing a lot of the time.
Flags: needinfo?(bgirard)
Whiteboard: gfx-noted
Tracking for 37 and 38. 

BenWa - Do you know if this affects 36?

Bas - Are you taking this one?
status-firefox38: --- → affected
tracking-firefox37: ? → +
tracking-firefox38: --- → +
Flags: needinfo?(bgirard)
Flags: needinfo?(bas)
(Reporter)

Comment 13

4 years ago
[Tracking Requested - why for this release]:
I'm unsure. What do we do to make sure we don't ship without finding this out? Do we have to explicitly block on confirming?
status-firefox36: --- → ?
tracking-firefox36: --- → ?
Flags: needinfo?(bgirard)
Setting the flags is the right way to keep this on the relman list of bugs that need follow-up. Given that you have a system that reproduces the issue for Nightly and Aurora, do you have a few mins to install Beta and see if this reproduces?
Flags: needinfo?(bgirard)
(Assignee)

Comment 15

4 years ago
I'm actively working on this one, but I haven't trouble determining the exact cause. It doesn't appear to be the present itself but something more subtle that changed with the patches. I feel this is on the list for patches that is scheduled for backout if we don't find solutions before friday. For the record, this does -not- affect 36 as far as I know.
Assignee: nobody → bas
Status: NEW → ASSIGNED
Flags: needinfo?(bas)
Thanks Bas. Marking 36 as unaffected based on comment 15 until we know otherwise.
status-firefox36: ? → unaffected
tracking-firefox36: ? → ---
(Assignee)

Comment 17

4 years ago
I've found the approximate cause, I'm looking into the best way to fix it, it shouldn't be too difficult to fix.
(Assignee)

Updated

4 years ago
Blocks: 1107297
(Assignee)

Updated

4 years ago
Keywords: regressionwindow-wanted
(Assignee)

Comment 18

4 years ago
Created attachment 8552488 [details] [diff] [review]
Redraw the entire window when the size changes
Flags: needinfo?(bgirard)
Attachment #8552488 - Flags: review?(jmuizelaar)
Comment on attachment 8552488 [details] [diff] [review]
Redraw the entire window when the size changes

Review of attachment 8552488 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/layers/d3d11/CompositorD3D11.cpp
@@ +1070,5 @@
>    nsIntRect intRect = nsIntRect(nsIntPoint(0, 0), mSize);
>    // Sometimes the invalid region is larger than we want to draw.
>    nsIntRegion invalidRegionSafe;
> +
> +  if (mSize == oldSize) {

Personally, I'd do something like this because I think it reads better:

if (mSize != oldSize) {
  // invalidate everything
  invalidRegionSafe = intRect;
} else {
  invalidRegionSafe.And(aInvalidRegion, intRect);
}

But do as you like
Attachment #8552488 - Flags: review?(jmuizelaar) → review+
(Assignee)

Updated

4 years ago
Duplicate of this bug: 1121126
https://hg.mozilla.org/mozilla-central/rev/68537ac70f77
Status: ASSIGNED → RESOLVED
Last Resolved: 4 years ago
status-firefox38: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla38

Updated

4 years ago
Duplicate of this bug: 1121339

Updated

4 years ago
Duplicate of this bug: 1113197

Comment 24

4 years ago
confirmed fixed for me in 38.0a1 (2015-01-22)

Comment 25

4 years ago
Can this be uplifted to Aurora? It seems like a trivial enough fix?
(Assignee)

Comment 26

4 years ago
Comment on attachment 8552488 [details] [diff] [review]
Redraw the entire window when the size changes

Approval Request Comment
[Feature/regressing bug #]: 1107297
[User impact if declined]: Flickering when resizing
[Describe test coverage new/current, TreeHerder]: 2 days of Nightly Coverage
[Risks and why]: Very low, strictly increased invalidation when would've been a bug already
[String/UUID change made/needed]: None
Attachment #8552488 - Flags: approval-mozilla-aurora?
Attachment #8552488 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+

Updated

3 years ago
See Also: → bug 1122545
You need to log in before you can comment on or make changes to this bug.