Closed Bug 1663585 Opened 4 years ago Closed 3 years ago

Set pref gfx.webrender.dcomp-video-overlay-win to true on nightly

Categories

(Core :: Graphics: WebRender, enhancement)

enhancement

Tracking

()

RESOLVED DUPLICATE of bug 1758601

People

(Reporter: sotaro, Assigned: sotaro)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

gfx.webrender.dcomp-video-overlay-win enables DirectComposition of hardware decoded video on Windows if possible.

Assignee: nobody → sotaro.ikeda.g
Depends on: 1460499
Summary: Set gfx.webrender.dcomp-video-overlay-win pref to true on nightly → Set pref gfx.webrender.dcomp-video-overlay-win to true on nightly

When I tried STR of bug 1646786, task manager said that pref gfx.webrender.dcomp-video-overlay-win=true uses more GPU on my P50(Win10 PC)

See Also: → 1646786
Depends on: 1665846
Depends on: 1667303
Depends on: 1667343

(In reply to Sotaro Ikeda [:sotaro] from comment #1)

When I tried STR of bug 1646786, task manager said that pref gfx.webrender.dcomp-video-overlay-win=true uses more GPU on my P50(Win10 PC)

In the STR, a lot of picture cache invalidation happened during video playback.

Bug 1667500 is created for it.

Attached video out_420_709_full.mp4

gfx.webrender.dcomp-video-overlay-win seems to have the same issue as Chrome that full range videos (mostly found on streaming sites) has wrong color values, this seems likely to be a bug in either windows, or NVIDIA.
I'm unsure how it behaves with AMD, nor Intel GPU's as i do not have access to those.

See attached sample.

Blocks: video-perf
Depends on: 1723207
Depends on: 1722447

(In reply to Thomas Andre from comment #3)

Created attachment 9258629 [details]
out_420_709_full.mp4

gfx.webrender.dcomp-video-overlay-win seems to have the same issue as Chrome that full range videos (mostly found on streaming sites) has wrong color values, this seems likely to be a bug in either windows, or NVIDIA.
I'm unsure how it behaves with AMD, nor Intel GPU's as i do not have access to those.

See attached sample.

Hi Thomas Andre, thank you for reporting. Created Bug 1750660 for it.

See Also: → 1750660

Is just setting gfx.webrender.dcomp-video-overlay-win enough to enable using DCOMP for video playback? I've enabled that pref, and set some breakpoints on method, such as DCSurfaceVideo::CallVideoProcessorBlt(), DCSurfaceVideo::CreateVideoSwapChain()...e.t.c. But I couldn't hit any of those breakpoints. Do I miss something? Or that mechanism would only take effect on certain type of video? Or it requires other special conditions?

Thank you.

Flags: needinfo?(sotaro.ikeda.g)

I wonder if hardware decoder might not be used(hw decoder might be disabled or blocked).

I confirmed that it worked on my PCs. Firefox needs to be re-started after gfx.webrender.dcomp-video-overlay-win is changed. To hit the functions, video needs to be decoded by hardware. And windows version need to be Win10AnniversaryUpdateOrLater().

It might be better to check if DXGITextureHostD3D11::SupportsExternalCompositing() also hit.

Flags: needinfo?(sotaro.ikeda.g)
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: