Hi,
We will proceed with the Stable 1% experiment for this intervention.
Rationale:
-
- The MotionMark regression is well understood. I discussed
with +Camillo Bruni and we concluded that it isn't a blocker for
measuring
the impact of this intervention on Stable 1%. However, we will address
any
MotionMark regression before launching a change.
- Michal Mocny suggested worthwhile refinements. We will start by
measuring the impact of this intervention as-is on Stable 1%. If we
observe
good results, it will be a good justification for investing in a
"launchable" intervention, including integrating Michal Mocny's
suggestions.
Have a nice day,
François
On Tuesday, February 18, 2025 at 11:25:36 AM UTC-5 Li1 Chen wrote:
>
> https://issues.chromium.org/issues/337094888
> On Friday, February 14, 2025 at 4:26:47 PM UTC+8 uazo wrote:
>
>> > We tested an intervention on Canary/Dev/Beta that reduces the frame
>> rate by half (e.g., from 60fps to 30fps) after 4 consecutive frames without
>> pixel changes.
>>
>> would it be possible to study the changes you have made in the code? is
>> there an associated bugid? thank you.
>>
>> On Wednesday, February 12, 2025 at 6:41:56 PM UTC-2 Li1 Chen wrote:
>>
>>> Hi,
>>>
>>>
>>>
>>> We have tried Speedometer3 and MotionMark for this feature on pinpoint.
>>>
>>> Speedometer3:
>>>
>>> https://pinpoint-dot-chromeperf.appspot.com/job/11eca91ea10000
>>>
>>> https://pinpoint-dot-chromeperf.appspot.com/job/166ca91ea10000
>>>
>>> MotionMark:
>>>
>>> https://pinpoint-dot-chromeperf.appspot.com/job/11289a3ba10000
>>>
>>> https://pinpoint-dot-chromeperf.appspot.com/job/14289a3ba10000
>>>
>>>
>>>
>>> From the pinpoint data we can see that this feature does not affect the
>>> performance of Speedometer3. It only causes regression in the MotionMark
>>> subcase Design. The root cause is that the Design case uses rAF to
>>> calculate the frame length(
>>> https://github.com/WebKit/MotionMark/blob/baf37c1fcb690abbe048e249e248e7847bddd34f/MotionMark/tests/resources/main.js#L182),
>>>
>>> but there is no frame update. Since the frame rate is throttled after 4
>>> DidNotProduceFrame, the frame length is reduced to 33ms, which affects the
>>> complexity calculation in the case and causes regression. In MotionMark
>>> only Design case uses no-op frame to calculate frame length, which does not
>>> seem reasonable, so only this subcase is regressed.
>>>
>>>
>>>
>>> Thanks
>>>
>>> Li
>>>
>>>
>>>
>>> On Monday, February 10, 2025 at 10:22:44 PM UTC+8 Camillo Bruni wrote:
>>>
>>>> +1 to double checking the benchmark
>>>> Most likely we're good as we should have at most a single idle rAF.
>>>>
>>>>
>>>> On Fri, 7 Feb 2025 at 20:13, Johnny Stenback <[email protected]>
>>>> wrote:
>>>>
>>>>> Hey Francois,
>>>>>
>>>>> This sounds promising. My one concern is what effect(s) this might
>>>>> have on our performance benchmarking work. +Camillo Bruni for his
>>>>> thoughts. We should at the very least make sure
>>>>> speedometer/motionmark/etc
>>>>> numbers are not negatively impacted by this change.
>>>>>
>>>>> Cheers,
>>>>> Johnny
>>>>>
>>>>> On Fri, Feb 7, 2025 at 10:03 AM Francois Pierre Doray <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> We tested an intervention on Canary/Dev/Beta that reduces the frame
>>>>>> rate by half (e.g., from 60fps to 30fps) after 4 consecutive frames
>>>>>> without
>>>>>> pixel changes. The frame rate returns to normal immediately upon pixel
>>>>>> changes or input events. For example:
>>>>>>
>>>>>> let last = performance.now();
>>>>>> let c = () => {
>>>>>> window.requestAnimationFrame(c);
>>>>>> let now = performance.now();
>>>>>> console.log(now - last);
>>>>>> last = now;
>>>>>> }
>>>>>> c();
>>>>>>
>>>>>> The c() function's invocation frequency halves after 4 calls due to
>>>>>> the lack of pixel updates. Note: As a result, a subsequent frame with
>>>>>> pixel
>>>>>> updates may be delayed by up to 1 frame (but frame rate returns to
>>>>>> normal
>>>>>> immediately after a frame with pixel updates).
>>>>>>
>>>>>> This intervention significantly improves LCP, INP and CPU usage on
>>>>>> Beta, confirming our prior observation that no-op frames often occupy
>>>>>> the
>>>>>> main thread during page load or input handling. To validate these
>>>>>> results,
>>>>>> we need a 1% stable experiment (user behavior differs between pre-stable
>>>>>> and stable channels). Before proceeding, we'd appreciate feedback on
>>>>>> potential issues this experiment might cause. We will determine our next
>>>>>> steps based on input from this discussion.
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> François
>>>>>>
>>>>>> [cc: Chen, Li and Zheng, Hong from Intel who proposed and
>>>>>> implemented this intervention]
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "blink-dev" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To view this discussion visit
>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a6db8984-6c56-4e84-954b-7b0ffae8b461n%40chromium.org
>>>>>>
>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a6db8984-6c56-4e84-954b-7b0ffae8b461n%40chromium.org?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> Camillo Bruni | Software Engineer, V8 | Google Germany GmbH |
>>>>> Erika-Mann
>>>> Str. 33, 80636 München
>>>>
>>>> Registergericht und -nummer: Hamburg, HRB 86891 | Sitz der
>>>> Gesellschaft: Hamburg | Geschäftsführer: Paul Manicle, Halimah DeLaine
>>>> Prado
>>>>
>>>> Diese E-Mail ist vertraulich. Falls Ssie diese fälschlicherweise
>>>> erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes
>>>> weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich
>>>> bitte
>>>> wissen, dass die E-Mail an die falsche Person gesendet wurde. This
>>>> e-mail is confidential. If you received this communication by mistake,
>>>> please don't forward it to anyone else, please erase all copies and
>>>> attachments, and please let me know that it has gone to the wrong person.
>>>>
>>>
--
You received this message because you are subscribed to the Google Groups
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a0a80f5c-3624-4be6-aa74-754833d117c1n%40chromium.org.