Enable WaitForVBlank by default on Windows 10
Categories
(Core :: Graphics, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox77 | --- | fixed |
People
(Reporter: bpeers, Assigned: bpeers)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
Assignee | ||
Comment 1•5 years ago
|
||
Updated•5 years ago
|
Comment 4•5 years ago
|
||
Backed out changeset af41b9549456 (bug 1630389) for causing mass Windows failures.
Backout revision https://hg.mozilla.org/integration/autoland/rev/22a6286b594e931fd5dd18c4ae5d2ff6c5a7f47d
Failure logs: https://treeherder.mozilla.org/logviewer.html#?job_id=297836316&repo=autoland
https://treeherder.mozilla.org/logviewer.html#?job_id=297828692&repo=autoland
https://treeherder.mozilla.org/logviewer.html#?job_id=297834390&repo=autoland
https://treeherder.mozilla.org/logviewer.html#?job_id=297834307&repo=autoland
Bert can you please take a look?
Comment 5•5 years ago
|
||
It looks like we might be OOMing for some reason.
Assignee | ||
Comment 6•5 years ago
|
||
Thanks for catching this Arthur.
The failure logs suggest that the crash is in the vsync notifications, not in the VBlank loop itself:
PVsyncBridgeChild::SendNotifyVsync
VsyncBridgeChild::NotifyVsync
PVsyncParent::SendNotify
and in 2 of those the failed allocation is in Pickle::Write(something)
, the 3rd is (inlined?) IPC::Message::WriteSentinel
I think?
At least one of the logs suggests this may be exhausting a pre-allocated pool (like an SBA maybe) rather than a run-away memory leak:
AddressSanitizer: Out of memory. The process has exhausted 8192MB for size class 5120
I'm running a test locally where I've disabled this line:
mWaitVBlankMonitor = primary_monitor;
to force a call to GetOutputFromMonitor
in every frame, which is where all the COM Add/Release action is. So far I'm not seeing any runaway memory use after ~15 mins of vsynctester.
Assignee | ||
Comment 7•5 years ago
|
||
I did notice that when I spam the F5 key on this file:
dom/canvas/test/webgl-conf/checkout/conformance/textures/canvas/tex-2d-rgb-rgb-unsigned_short_5_6_5.html
that I can push one of the processes to consume an extra 100 MB. Which eventually drops down again when I stop spamming, but it takes a bit of time.
It's wild guess but do you think it's possible that increased refresh speed pushes up the highwater mark of this test and it thinks it detects a leak?
Otherwise I don't have a lot of ideas.
Comment 8•5 years ago
|
||
Maybe the refresh speed is not being throttled for some reason? Perhaps we can check if we're waiting for a reasonable amount of time?
Comment 9•5 years ago
|
||
From the Chrome issue: "Deal with monitor power off. WaitForVBlank may return right away without waiting in this case. "
Comment 10•5 years ago
|
||
Comment 11•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Description
•