New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 733805 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Feature

Blocking:
issue 590342



Sign in to add a comment

Use IDXGISwapChainMedia::SetPresentDuration to set screen to <60Hz for video.

Project Member Reported by jbau...@chromium.org, Jun 15 2017

Issue description

Reducing the framerate should save some amount of power, though I need to measure how much. The Surface Book seems to go down to 48fps.

dalecurtis@, do you if there's somewhere in the media stack we could get expected framerate information from to plumb through to the GPU process?

 
VideoRendererImpl owns a VideoRendererAlgorithm which has an average_frame_duration() member that ebbs and flows with playbackRate and the encoded frame rate. This information is not exposed upwards though. We could plumb it upwards, but it might be easier and just as functional to infer it based on frequency of new frames arriving into the compositor.
The compositor attempts to pull frames on begin frame, so the number it gets would be a lot less consistent and would take longer to converge because it always samples at 60fps.
I suspect practically it won't matter and that it will actually converge very quickly. Either way, easy to test and plumb otherwise.
Cc: johnpallett@chromium.org
For some reason DWM doesn't approve Chrome's present duration ever - it always stays at 60fps. For edge it sometimes approves it and sometimes doesn't, so I'm not sure if there's any way to actually reduce the framerate for chrome. Maybe it's UWP-related, or maybe there are some other stringent conditions needed for it to work.
Blocking: 590342
Cc: jbau...@chromium.org
Owner: ----
Status: Available (was: Assigned)

Comment 7 by mcasas@chromium.org, Mar 17 2018

Cc: dcasta...@chromium.org
Owner: zmo@chromium.org
Status: Untriaged (was: Available)
zmo@ for retriaging
Status: Assigned (was: Untriaged)

Sign in to add a comment