Closed Bug 1144317 Opened 5 years ago Closed 5 years ago

Enable vsync refresh driver on Windows

Categories

(Core :: Graphics, defect, P2)

x86_64
All
defect

Tracking

()

RESOLVED FIXED
mozilla40
Tracking Status
firefox38 --- unaffected
firefox39 --- wontfix
firefox40 --- fixed
relnote-firefox --- 40+

People

(Reporter: mchang, Assigned: mchang)

References

()

Details

Attachments

(3 files, 1 obsolete file)

Will wait until next week to land to let the compositor sit for a while. Will also land OS X's refresh driver before Windows.
Attachment #8579671 - Flags: review?(bugmail.mozilla)
Depends on: 1144321
Attachment #8579671 - Attachment is obsolete: true
Attachment #8579671 - Flags: review?(bugmail.mozilla)
Attachment #8579674 - Flags: review?(bugmail.mozilla)
Blocks: 1144946
Attachment #8579674 - Flags: review?(bugmail.mozilla) → review+
Depends on: 1116334
https://hg.mozilla.org/mozilla-central/rev/43e18ef66807
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
This seems to cause frozen display on Windows 10. Only minimize then maximize the window repaints the chrome and the content. 

The underlying user interface and the web content is responding. If I click on another tab to switch, the display would not change. A minimize/maximize action would show that the switching did occur.

Flipping gfx.vsync.refreshdriver to false appears to be a workaround.

I am using Windows 10 Build 10041 on an iMac Retina 5K. It comes with an AMD Radeon R9 M290X GPU and now using the latest Catalyst driver from Windows (15.200.1012.2).
What build of firefox are you using? I don't even think we have a nightly spun up yet with this preference enabled by default.
Flags: needinfo?(xavier114fch)
(In reply to Mason Chang [:mchang] from comment #9)
There were two updates today IIRC and checking my own Firefox config, the preference is set by default now. 
I'm using:
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:39.0) Gecko/20100101 Firefox/39.0 ID:20150325083046 CSet: db0409de517a
Are you experiencing the same problems at comment 8?
Flags: needinfo?(daniel_dabrowski)
I am experiencing the same problems at comment 8
(In reply to Mason Chang [:mchang] from comment #9)
> What build of firefox are you using? I don't even think we have a nightly
> spun up yet with this preference enabled by default.

I am using the latest x86 nightly build, which is the same as Daniel's at comment 10:

Application Basics
------------------

Name: Firefox
Version: 39.0a1
Build ID: 20150325083046
Update Channel: nightly
User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0
Multiprocess Windows: 0/1 (default: false)
Flags: needinfo?(xavier114fch)
(In reply to Mason Chang [:mchang] from comment #11)
Nope.
Everything seems to work fine here.
Flags: needinfo?(daniel_dabrowski)
(In reply to zhoubcfan from comment #12)
> I am experiencing the same problems at comment 8

Are you also on Windows 10? Can you please paste your about:support in this bug?
Flags: needinfo?(zhoubcfan)
Flags: needinfo?(xavier114fch)
Attached per request.
Flags: needinfo?(xavier114fch)
Attached file about:support
New profile.
Flags: needinfo?(zhoubcfan)
Hmm it's confusing that e10s is disabled on nightly on Windows 10 in both profiles. Avih, do you have a Windows 10 machine to test this please? I don't have Windows 10 or any space left on my hard drive either for a 4th OS :/.
Flags: needinfo?(avihpit)
(In reply to Mason Chang [:mchang] from comment #18)
> Hmm it's confusing that e10s is disabled on nightly on Windows 10 in both
> profiles. Avih, do you have a Windows 10 machine to test this please? I
> don't have Windows 10 or any space left on my hard drive either for a 4th OS
> :/.

e10s is disabled when IME is active.
(In reply to Mason Chang [:mchang] from comment #18)
> Hmm it's confusing that e10s is disabled on nightly on Windows 10 in both
> profiles. Avih, do you have a Windows 10 machine to test this please? I
> don't have Windows 10 or any space left on my hard drive either for a 4th OS
> :/.

With e10s enabled, I still experience the problem.
And gfx.vsync.compositor and gfx.vsync.hw-vsync.enabled are both set to true? If that works, I'm very confused because then it means dwm composition at least works on windows 10.
Flags: needinfo?(zhoubcfan)
Yes, they are both set to true.
Flags: needinfo?(zhoubcfan)
Depends on: 1147783
Same here.
(In reply to Xavier Fung from comment #8)
> This seems to cause frozen display on Windows 10. Only minimize then
> maximize the window repaints the chrome and the content.

Does it happen always? i.e. Firefox is completely unusable? or only once in a while? How frequent?

> I am using Windows 10 Build 10041 on an iMac Retina 5K. It comes with an AMD
> Radeon R9 M290X GPU and now using the latest Catalyst driver from Windows
> (15.200.1012.2).

As far as I know the latest AMD driver is 14.12 (14.501.1003), and the 15.xx one is still in beta, and I've heard it's not considered very stable.


(In reply to Mason Chang [:mchang] from comment #18)
> Avih, do you have a Windows 10 machine to test this please?

I don't have windows 10, sorry. I have windows 7 64, windows 8.1 64 and windows 8.1 32.

The 8.1-64 one is an Intel i7-4500u system with AMD 8850m (appears on the device manager as R9 M265X - they're considered the same) with AMD 14.12 driver.

Firefox only works with the Intel GPU by default - the AMD panel doesn't allow assigning it to the AMD GPU.

I've been testing nightly with gfx.vsync.refreshdriver=true since the other two prefs were turned on - so about 2 weeks now.

I have noticed one issue recently where after maximizing Firefox - the content would take few seconds until it decides to resize to the new window size. However, it happened at most 3-4 times so it's really impossible to tell if it's due to gfx.vsync.refreshdriver or not.
Flags: needinfo?(avihpit)
(In reply to Avi Halachmi (:avih) from comment #24)
> Does it happen always? i.e. Firefox is completely unusable? or only once in
> a while? How frequent?
Always
(In reply to Avi Halachmi (:avih) from comment #24)
> (In reply to Xavier Fung from comment #8)
> > This seems to cause frozen display on Windows 10. Only minimize then
> > maximize the window repaints the chrome and the content.
> 
> Does it happen always? i.e. Firefox is completely unusable? or only once in
> a while? How frequent?

It happens always, and Firefox is nearly unusable as you have to minimize/maximize to get things repainted.

> > I am using Windows 10 Build 10041 on an iMac Retina 5K. It comes with an AMD
> > Radeon R9 M290X GPU and now using the latest Catalyst driver from Windows
> > (15.200.1012.2).
> 
> As far as I know the latest AMD driver is 14.12 (14.501.1003), and the 15.xx
> one is still in beta, and I've heard it's not considered very stable.

This is the one installed with Windows 10.
Will back this out once inbound opens.
Duplicate of this bug: 1147783
Just installed Windows 10 technical preview 10041 on Vmware fusion on a macbook. Pretty terrible, can't even get to about:config to disable this pref.
See Also: → 1147753
The nightly from today was based off hg revision 37d3dcbf23a9. Reopening and should be fixed in the next nightly if a merge occurs.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Depends on: 1147953
Bug 1147953 didn't make today's nightly. Will wait for a new nightly to spin up, get user verification that the vsync refresh driver works on Windows 10, then reland.
Excellent.  Let's get it a full train ride on the 40.
Since bug 1147953 should be in today's nightly, can you please enable the preference "gfx.vsync.refreshdriver" in about:config on Windows 10 to see if it works for you? Thanks!
Flags: needinfo?(zhoubcfan)
Flags: needinfo?(xavier114fch)
(In reply to Mason Chang [:mchang] from comment #35)
> Since bug 1147953 should be in today's nightly, can you please enable the
> preference "gfx.vsync.refreshdriver" in about:config on Windows 10 to see if
> it works for you? Thanks!

Flip the preference to true and no apparent display issue so far.
Flags: needinfo?(xavier114fch)
(In reply to Xavier Fung from comment #36)
> (In reply to Mason Chang [:mchang] from comment #35)
> > Since bug 1147953 should be in today's nightly, can you please enable the
> > preference "gfx.vsync.refreshdriver" in about:config on Windows 10 to see if
> > it works for you? Thanks!
> 
> Flip the preference to true and no apparent display issue so far.

Please make sure you restart nightly after enabling the preference. Thanks!
(In reply to Mason Chang [:mchang] from comment #37)
> (In reply to Xavier Fung from comment #36)
> > (In reply to Mason Chang [:mchang] from comment #35)
> > > Since bug 1147953 should be in today's nightly, can you please enable the
> > > preference "gfx.vsync.refreshdriver" in about:config on Windows 10 to see if
> > > it works for you? Thanks!
> > 
> > Flip the preference to true and no apparent display issue so far.
> 
> Please make sure you restart nightly after enabling the preference. Thanks!

Already restarted before leaving the comments above :-)
(In reply to Mason Chang [:mchang] from comment #37)
> Please make sure you restart nightly after enabling the preference. Thanks!

It works fine.
Flags: needinfo?(zhoubcfan)
https://hg.mozilla.org/mozilla-central/rev/0f1095c9567f
Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
Depends on: 1151319
Depends on: 1151603
Mason, want to mark this for a release note for 40? Thanks.
Flags: needinfo?(mchang)
Release Note Request (optional, but appreciated)
[Why is this notable]: Project Silk on Windows, which helps create smoother animations and scrolling.
[Suggested wording]: Align rendering pipeline to hardware vsync.
[Links (documentation, blog post, etc)]: https://hacks.mozilla.org/2015/01/project-silk/
relnote-firefox: --- → ?
Flags: needinfo?(mchang)
Depends on: 1194654
Depends on: 1210261
Depends on: 1252046
Depends on: 1254318
You need to log in before you can comment on or make changes to this bug.