Bug 224023

Summary: Feed preferred frames per second back to the UI process for each DisplayRefreshMonitor
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: WebCore Misc.Assignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: graouts, sam, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Simon Fraser (smfr) 2021-03-31 15:25:08 PDT
Feed preferred frames per second back to the UI process for each DisplayRefreshMonitor
Comment 1 Simon Fraser (smfr) 2021-03-31 15:31:18 PDT
Created attachment 424830 [details]
Patch
Comment 2 Radar WebKit Bug Importer 2021-03-31 15:33:26 PDT
<rdar://problem/76074444>
Comment 3 Sam Weinig 2021-03-31 15:48:23 PDT
Comment on attachment 424830 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=424830&action=review

> Source/WebCore/ChangeLog:9
> +        so move from a model where has DisplayRefreshMonitor setPreferredFramesPerSecond()

This sentence doesn't quite parse.

> Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp:94
> +    auto addResult = m_clients.add(&client);
> +    if (addResult.isNewEntry) {

In what cases is addClient() called multiple times with the same client?

> Source/WebKit/UIProcess/WebProcessProxy.h:81
>  using PlatformDisplayID = uint32_t;
> +using FramesPerSecond = unsigned;

Sort please.
Comment 4 Simon Fraser (smfr) 2021-03-31 16:04:35 PDT
(In reply to Sam Weinig from comment #3)

> 
> > Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp:94
> > +    auto addResult = m_clients.add(&client);
> > +    if (addResult.isNewEntry) {
> 
> In what cases is addClient() called multiple times with the same client?

Don't know but it seems fine to only do the work when new clients are added.
Comment 5 Simon Fraser (smfr) 2021-04-01 08:16:12 PDT
https://trac.webkit.org/changeset/275345/webkit