[webkit-reviews] review granted: [Bug 223912] Allow non-60fps display updates to be driven by DisplayRefreshMonitor : [Attachment 424616] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Mar 30 09:38:16 PDT 2021
Sam Weinig <sam at webkit.org> has granted Simon Fraser (smfr)
<simon.fraser at apple.com>'s request for review:
Bug 223912: Allow non-60fps display updates to be driven by
DisplayRefreshMonitor
https://bugs.webkit.org/show_bug.cgi?id=223912
Attachment 424616: Patch
https://bugs.webkit.org/attachment.cgi?id=424616&action=review
--- Comment #3 from Sam Weinig <sam at webkit.org> ---
Comment on attachment 424616
--> https://bugs.webkit.org/attachment.cgi?id=424616
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=424616&action=review
Love the tests!
> Source/WebCore/ChangeLog:21
> + Also add preferredFramesPerSecond() to use here, and have both it
and
I'm unclear what "here" is in this context.
> Source/WebCore/page/Page.cpp:1201
> renderingUpdateScheduler().windowScreenDidChange(displayID);
> + renderingUpdateScheduler().adjustRenderingUpdateFrequency();
I would either pull renderingUpdateScheduler into a local (since the getter
does work) or just have windowScreenDidChange() call
adjustRenderingUpdateFrequency(),
> Source/WebCore/page/Page.h:429
> + // This can return nullopt if throttling reasons result in a frequency
less than one, in which case
> + // preferredRenderingUpdateInterval provides the frequency.
> + Optional<FramesPerSecond> preferredRenderingUpdateFramesPerSecond()
const;
This seems a little silly that two calls are needed. In the future, we should
we consider making FramesPerSecond be a struct containing a ratio that can
represent frequencies less than one, or make this return a
Variant<FramesPerSecond, Seconds>.
> Source/WebCore/platform/Logging.cpp:95
> + LogRequestAnimationFrame.state = WTFLogChannelState::On;
> + LogDisplayLink.state = WTFLogChannelState::On;
Did you mean to leave these in?
> Source/WebCore/platform/graphics/AnimationFrameRate.cpp:33
> +static constexpr OptionSet<ThrottlingReason> halfSpeedThrottlingReasons = {
ThrottlingReason::LowPowerMode,
ThrottlingReason::NonInteractedCrossOriginFrame, ThrottlingReason::VisuallyIdle
};
I don't think the `=` is needed here.
More information about the webkit-reviews
mailing list