Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Correct FrameTimingRecorder's raster start time. - #38674

Merged
auto-submit[bot] merged 7 commits into
flutter-team-archive:mainfrom
luckysmg:frame_timing_fix
Jan 13, 2023
Merged

auto-submit[bot] merged 7 commits into
flutter-team-archive:mainfrom
luckysmg:frame_timing_fix

Conversation

@luckysmg

@luckysmg luckysmg commented Jan 6, 2023 •

Copy link
Copy Markdown
Contributor

Fix:

The code

auto frame = surface_->AcquireFrame(layer_tree.frame_size());

could be very time-consuming sometimes. I think we should record it into raster time. So that we can observe this correctly using DevTools or addTimingCallback of framework side.

Preview

DevTools

Before patch:

Before.mp4

After patch:

After.mp4

Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide] and the [C++, Objective-C, Java style guides].
  • I listed at least one issue that this PR fixes in the description above.
  • I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt. See [testing the engine] for instructions on writing and running engine tests.
  • I updated/added relevant documentation (doc comments with ///).
  • I signed the [CLA].
  • All existing and new tests are passing.

@flutter-dashboard

Copy link
Copy Markdown

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@luckysmg luckysmg changed the title Fix FrameTimingRecorder's raster start time correctly. Fix FrameTimingRecorder's raster start time. Jan 7, 2023
@luckysmg
luckysmg requested a review from chinmaygarde January 7, 2023 09:42
@luckysmg luckysmg changed the title Fix FrameTimingRecorder's raster start time. Correct FrameTimingRecorder's raster start time and add missing trace events. Jan 8, 2023
@luckysmg luckysmg changed the title Correct FrameTimingRecorder's raster start time and add missing trace events. Correct FrameTimingRecorder's raster start time. Jan 8, 2023
@achillelrc

Copy link
Copy Markdown

looks promising bro thanks for the work @luckysmg

@luckysmg luckysmg self-assigned this Jan 13, 2023
@luckysmg luckysmg added the autosubmit Merge PR when tree becomes green via auto submit App label Jan 13, 2023
@auto-submit
auto-submit Bot merged commit 99509a7 into flutter-team-archive:main Jan 13, 2023
sourcegraph-bot pushed a commit to sgtest/megarepo that referenced this pull request Jan 13, 2023
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Jan 13, 2023
* f1a1f27 [M3] Add error state support for side property of CheckBox (flutter/flutter#118386)

* 27502f6 Roll Plugins from 620a059d62b2 to 39197f17ca59 (6 revisions) (flutter/flutter#118391)

* 40bc6b5 Move debug error message from failed pub to logger.printTrace (flutter/flutter#118379)

* 5630d53 [tool] Generate a binary version of the asset manifest (flutter/flutter#117233)

* c7a3f0f IconButtonTheme should be overridden by the AppBar/AppBarTheme's iconTheme and actionsIconTheme (flutter/flutter#118216)

* ee1c59d reduce pub output from flutter create (flutter/flutter#118285)

* 947b694 roll packages (flutter/flutter#118277)

* 8f365a3 [web] Update build to use generated JS runtime for Dart2Wasm. (flutter/flutter#118359)

* ace4fb5 Roll Flutter Engine from 4a8d6866a1c0 to c01465a18f31 (9 revisions) (flutter/flutter#118409)

* db8d1a4 Add MSYS2 detection on Windows Terminal (flutter/flutter#117612)

* c905a09 Add documentation for drag/fling offset in WidgetController. (flutter/flutter#118288)

* 4e85235 688015782 fixed glfw example for arm64 (flutter-team-archive/engine#38426) (flutter/flutter#118413)

* 9e11d4a Use correct API docs link in create --sample help message (flutter/flutter#118371)

* 3e00520 Roll Flutter Engine from 688015782762 to 35cfe9158648 (2 revisions) (flutter/flutter#118415)

* bd938b0 Fix tap/drag callbacks firing when TapAndDragGestureRecognizer has not won the arena (flutter/flutter#118342)

* 19af46f 8aa26baa9 Roll Dart SDK from edd406c07399 to 20cca507d98b (1 revision) (flutter-team-archive/engine#38823) (flutter/flutter#118420)

* f7b444e add generated_plugins.cmake (flutter/flutter#116581)

* 40c96f1 Enable xcode cache cleanup for a few days. (flutter/flutter#118419)

* 59d737e 99509a7e4 Correct FrameTimingRecorder's raster start time. (flutter-team-archive/engine#38674) (flutter/flutter#118425)

* 9024a70 Roll Flutter Engine from 99509a7e4275 to f3f05368033b (2 revisions) (flutter/flutter#118429)

* 0752af8 Add `allowedButtonsFilter` to prevent Draggable from appearing with secondary click. (flutter/flutter#111852)

* 1578acb 15d59792e Roll Skia from dfb838747295 to 9e51c2c9e231 (26 revisions) (flutter-team-archive/engine#38827) (flutter/flutter#118432)

* 07c47dc a62d25326 Roll Skia from dfb838747295 to cc983d28f3bf (27 revisions) (flutter-team-archive/engine#38830) (flutter/flutter#118435)

* 17a855e dfa0327f8 Roll Skia from cc983d28f3bf to fd54be29a3cc (3 revisions) (flutter-team-archive/engine#38833) (flutter/flutter#118436)

* b896066 07603c6d4 Roll Dart SDK from 20cca507d98b to 3d629d00a8d7 (2 revisions) (flutter-team-archive/engine#38834) (flutter/flutter#118439)

* ddad6f1 Fix copying/applying font fallback with package (flutter/flutter#118393)

* 8889d49 dec608917 Roll Fuchsia Mac SDK from nIPtQ59jG1pxyatOq... to 21nYb648VWbpxc36t... (flutter-team-archive/engine#38839) (flutter/flutter#118445)

* 2201698 970889b87 Roll Skia from fd54be29a3cc to c72c7bf7e45b (3 revisions) (flutter-team-archive/engine#38840) (flutter/flutter#118448)
auto-submit Bot pushed a commit to flutter-team-archive/plugins that referenced this pull request Jan 13, 2023
* f1a1f27 [M3] Add error state support for side property of CheckBox (flutter/flutter#118386)

* 27502f6 Roll Plugins from 620a059 to 39197f1 (6 revisions) (flutter/flutter#118391)

* 40bc6b5 Move debug error message from failed pub to logger.printTrace (flutter/flutter#118379)

* 5630d53 [tool] Generate a binary version of the asset manifest (flutter/flutter#117233)

* c7a3f0f IconButtonTheme should be overridden by the AppBar/AppBarTheme's iconTheme and actionsIconTheme (flutter/flutter#118216)

* ee1c59d reduce pub output from flutter create (flutter/flutter#118285)

* 947b694 roll packages (flutter/flutter#118277)

* 8f365a3 [web] Update build to use generated JS runtime for Dart2Wasm. (flutter/flutter#118359)

* ace4fb5 Roll Flutter Engine from 4a8d6866a1c0 to c01465a18f31 (9 revisions) (flutter/flutter#118409)

* db8d1a4 Add MSYS2 detection on Windows Terminal (flutter/flutter#117612)

* c905a09 Add documentation for drag/fling offset in WidgetController. (flutter/flutter#118288)

* 4e85235 688015782 fixed glfw example for arm64 (flutter-team-archive/engine#38426) (flutter/flutter#118413)

* 9e11d4a Use correct API docs link in create --sample help message (flutter/flutter#118371)

* 3e00520 Roll Flutter Engine from 688015782762 to 35cfe9158648 (2 revisions) (flutter/flutter#118415)

* bd938b0 Fix tap/drag callbacks firing when TapAndDragGestureRecognizer has not won the arena (flutter/flutter#118342)

* 19af46f 8aa26baa9 Roll Dart SDK from edd406c07399 to 20cca507d98b (1 revision) (flutter-team-archive/engine#38823) (flutter/flutter#118420)

* f7b444e add generated_plugins.cmake (flutter/flutter#116581)

* 40c96f1 Enable xcode cache cleanup for a few days. (flutter/flutter#118419)

* 59d737e 99509a7e4 Correct FrameTimingRecorder's raster start time. (flutter-team-archive/engine#38674) (flutter/flutter#118425)

* 9024a70 Roll Flutter Engine from 99509a7e4275 to f3f05368033b (2 revisions) (flutter/flutter#118429)

* 0752af8 Add `allowedButtonsFilter` to prevent Draggable from appearing with secondary click. (flutter/flutter#111852)

* 1578acb 15d59792e Roll Skia from dfb838747295 to 9e51c2c9e231 (26 revisions) (flutter-team-archive/engine#38827) (flutter/flutter#118432)

* 07c47dc a62d25326 Roll Skia from dfb838747295 to cc983d28f3bf (27 revisions) (flutter-team-archive/engine#38830) (flutter/flutter#118435)

* 17a855e dfa0327f8 Roll Skia from cc983d28f3bf to fd54be29a3cc (3 revisions) (flutter-team-archive/engine#38833) (flutter/flutter#118436)

* b896066 07603c6d4 Roll Dart SDK from 20cca507d98b to 3d629d00a8d7 (2 revisions) (flutter-team-archive/engine#38834) (flutter/flutter#118439)

* ddad6f1 Fix copying/applying font fallback with package (flutter/flutter#118393)

* 8889d49 dec608917 Roll Fuchsia Mac SDK from nIPtQ59jG1pxyatOq... to 21nYb648VWbpxc36t... (flutter-team-archive/engine#38839) (flutter/flutter#118445)

* 2201698 970889b87 Roll Skia from fd54be29a3cc to c72c7bf7e45b (3 revisions) (flutter-team-archive/engine#38840) (flutter/flutter#118448)