Set the screen frame rate to 60 Hz: fix blink freeze with viewtransitions (#2582)

This commit is contained in:
Carmelo Messina
2026-01-19 14:10:42 +01:00
parent 5f09697d4c
commit 245b33a600
@@ -24,7 +24,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../root_compositor_frame_sink_impl.cc | 10 ++++++++--
.../Set-the-screen-frame-rate-to-60-Hz.inc | 7 +++++++
.../renderer/core/animation/animation_clock.cc | 11 ++++++++---
15 files changed, 117 insertions(+), 12 deletions(-)
.../core/view_transition/view_transition.cc | 2 ++
16 files changed, 119 insertions(+), 12 deletions(-)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Set-the-screen-frame-rate-to-60-Hz.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Set-the-screen-frame-rate-to-60-Hz.inc
@@ -381,4 +382,18 @@ diff --git a/third_party/blink/renderer/core/animation/animation_clock.cc b/thir
DCHECK_GE(new_time, time_);
}
UpdateTime(new_time);
diff --git a/third_party/blink/renderer/core/view_transition/view_transition.cc b/third_party/blink/renderer/core/view_transition/view_transition.cc
--- a/third_party/blink/renderer/core/view_transition/view_transition.cc
+++ b/third_party/blink/renderer/core/view_transition/view_transition.cc
@@ -989,8 +989,10 @@ CSSStyleSheet* ViewTransition::UAStyleSheet() const {
void ViewTransition::WillCommitCompositorFrame() {
// There should only be 1 commit when we're in the capturing phase and
// rendering is paused immediately after it finishes.
+#if !BUILDFLAG(IS_WIN)
if (state_ == State::kCapturing)
PauseRendering();
+#endif
}
gfx::Size ViewTransition::GetSnapshotRootSize() const {
--