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

Conversation

@flar
Copy link
Contributor

@flar flar commented Aug 31, 2019

This simple commit adjusts the timestamps we report to the engine to match the platform timestamps provided for the actual vsync and target (next vsync) times.

This change makes the VsyncSchedulingOverhead bar in the Observatory more accurate.

Copy link
Contributor

@liyuqian liyuqian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM to me. Maybe wait for @chinmaygarde 's confirmation before merging. Chinmay: is there any reason why we don't aim for 16ms from CADisplayLink's start time, but rather from onDisplayLink?

@flar
Copy link
Contributor Author

flar commented Sep 3, 2019

LGTM to me. Maybe wait for @chinmaygarde 's confirmation before merging. Chinmay: is there any reason why we don't aim for 16ms from CADisplayLink's start time, but rather from onDisplayLink?

We can only use the values from the link in a relative manner and so we apply a relative conversion for link.timestamp to work back to the fml::TimePoint equivalent. link.timestamp -> iOS's now -> fml's now -> timestamp in fml's frame of reference...

We could use the same conversion method for link.targetTimestamp but that would require more calculations and since we know that (link.timestamp + link.duration == link.targetTimestamp) then we can just apply link.duration as a delta and get the same answer faster.

@flar
Copy link
Contributor Author

flar commented Sep 5, 2019

@liyuqian did I address your question or are you still waiting to hear from @chinmaygarde ?

@flar
Copy link
Contributor Author

flar commented Sep 5, 2019

One distinction of note is that link.duration is the length of a frame at maximumFramesPerSecond, but link.targetTimestamp might represent more than one frame if we've asked iOS to back off on notifications. The default is to run at full speed so link.duration is correct, but if we ever start setting the preferred frame rate, then the relationship between the timestamp and duration values may not hold. But, link.duration will always be the actual frame rate of the device and I think we'd want to report that even if we are backing off so that we can visually represent that we are no longer taking every frame, no?

@flar
Copy link
Contributor Author

flar commented Sep 10, 2019

ping @chinmaygarde

@flar flar merged commit bbb1f12 into flutter:master Sep 12, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 12, 2019
engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Sep 12, 2019
git@github.com:flutter/engine.git/compare/7ea9884ab00e...bbb1f12

git log 7ea9884..bbb1f12 --no-merges --oneline
2019-09-12 50503328+flar@users.noreply.github.com Adjust iOS frame start times to match the platform info (flutter/engine#11802)
2019-09-12 skia-flutter-autoroll@skia.org Roll src/third_party/skia 50f377e275c3..7c47d41067d4 (3 commits) (flutter/engine#12231)
2019-09-12 50503328+flar@users.noreply.github.com Revert "Manage iOS contexts separately (#12078)" (flutter/engine#12233)
2019-09-11 gw@gwright.org.uk Manage iOS contexts separately (flutter/engine#12078)
2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 120e7d6766e4..50f377e275c3 (7 commits) (flutter/engine#12224)
2019-09-11 mklim@google.com Revert "Roll src/third_party/dart be66176534..ec7ec4ecf7 (37 commits)" (flutter/engine#12223)
2019-09-11 iska.kaushik@gmail.com Do not generate kernel platform files on topaz tree (flutter/engine#12222)
2019-09-11 hterkelsen@users.noreply.github.com Don't disable toString in release mode for dart:ui classes (flutter/engine#12204)
2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from 7gDBN... to u7Q31... (flutter/engine#12221)
2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia d96ef09317d6..120e7d6766e4 (2 commits) (flutter/engine#12220)
2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from vDk46... to _nS67... (flutter/engine#12219)
2019-09-11 iska.kaushik@gmail.com Namespace patched SDK names to not conflict with Topaz (flutter/engine#12218)
2019-09-11 bkonyi@google.com Roll src/third_party/dart ca7baa4013..4d5e15abde (29 commits)
2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 14318c140949..d96ef09317d6 (2 commits) (flutter/engine#12216)
2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia b23a4f9d9442..14318c140949 (2 commits) (flutter/engine#12215)
2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 26ac0467cb4c..b23a4f9d9442 (2 commits) (flutter/engine#12214)
2019-09-11 bkonyi@google.com Roll src/third_party/dart 7bbfd532de..ca7baa4013 (3 commits)
2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from R1yqu... to 7gDBN... (flutter/engine#12212)
2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from spUG2... to vDk46... (flutter/engine#12210)
2019-09-11 chinmaygarde@google.com Roll buildroot and Fuchsia toolchain and unblock the Fuchsia/Linux autoroller manually. (flutter/engine#12209)
2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 4fe30e15c06c..26ac0467cb4c (2 commits) (flutter/engine#12207)
2019-09-11 chinmaygarde@google.com Only build the x64 variant of Fuchsia on the try-jobs. (flutter/engine#12206)
2019-09-10 hterkelsen@users.noreply.github.com Don't load Roboto by default (flutter/engine#12205)
2019-09-10 bkonyi@google.com Roll src/third_party/dart 300c3333d1..7bbfd532de (5 commits)
2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 66d8006c2bb1..4fe30e15c06c (11 commits) (flutter/engine#12202)
2019-09-10 yjbanov@google.com add a convenience CLI tool for building and testing web engine (flutter/engine#12197)
2019-09-10 jason-simmons@users.noreply.github.com [flutter_runner] Generate symbols for the Dart VM profiler (flutter/engine#12048)
2019-09-10 yjbanov@google.com Add custom test plugin that supports screenshot tests (flutter/engine#12079)
2019-09-10 chinmaygarde@google.com Move the Fuchsia tryjob into a its own step and disable LTO. (flutter/engine#12190)
2019-09-10 bkonyi@google.com Roll src/third_party/dart 62f78a7abb..300c3333d1 (6 commits)
2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia b88894c8811b..66d8006c2bb1 (5 commits) (flutter/engine#12178)
2019-09-10 jason-simmons@users.noreply.github.com [flutter_runner] Port the accessibility bridge from Topaz (flutter/engine#12054)
2019-09-10 liyuqian@google.com Smooth out iOS irregular input events delivery (flutter/engine#11817)
2019-09-10 bkonyi@google.com Roll src/third_party/dart ccb6ba948b..62f78a7abb (3 commits)
2019-09-10 jonahwilliams@google.com Make ImageShader implement Shader for web ui (flutter/engine#12161)
2019-09-10 bkonyi@google.com Roll src/third_party/dart 2e8d912848..ccb6ba948b (30 commits)
2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 9e5c47936b17..b88894c8811b (3 commits) (flutter/engine#12151)
2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 1bf30ce852e0..9e5c47936b17 (2 commits) (flutter/engine#12129)
2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 8cae1e95a23b..1bf30ce852e0 (2 commits) (flutter/engine#12106)
2019-09-10 skia-flutter-autoroll@skia.org Roll fuchsia/clang/mac-amd64 from H1Qjc... to HfPKR... (flutter/engine#12088)
2019-09-10 chinmaygarde@google.com Don't launch the observatory by default on each embedder unit-test invocation. (flutter/engine#12087)
2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia c2d84bfa7421..8cae1e95a23b (4 commits) (flutter/engine#12086)
2019-09-10 bkonyi@google.com Roll src/third_party/dart fb14babf59..2e8d912848 (65 commits)
2019-09-10 chinmaygarde@google.com Guard availability of user notification related methods to iOS 10.0 (flutter/engine#12084)
2019-09-09 bmparr@google.com Add capability to add AppDelegate as UNUserNotificationCenterDelegate (flutter/engine#9864)
...
Inconnu08 pushed a commit to Inconnu08/flutter that referenced this pull request Sep 30, 2019
git@github.com:flutter/engine.git/compare/7ea9884ab00e...bbb1f12

git log 7ea9884..bbb1f12 --no-merges --oneline
2019-09-12 50503328+flar@users.noreply.github.com Adjust iOS frame start times to match the platform info (flutter/engine#11802)
2019-09-12 skia-flutter-autoroll@skia.org Roll src/third_party/skia 50f377e275c3..7c47d41067d4 (3 commits) (flutter/engine#12231)
2019-09-12 50503328+flar@users.noreply.github.com Revert "Manage iOS contexts separately (flutter#12078)" (flutter/engine#12233)
2019-09-11 gw@gwright.org.uk Manage iOS contexts separately (flutter/engine#12078)
2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 120e7d6766e4..50f377e275c3 (7 commits) (flutter/engine#12224)
2019-09-11 mklim@google.com Revert "Roll src/third_party/dart be66176534..ec7ec4ecf7 (37 commits)" (flutter/engine#12223)
2019-09-11 iska.kaushik@gmail.com Do not generate kernel platform files on topaz tree (flutter/engine#12222)
2019-09-11 hterkelsen@users.noreply.github.com Don't disable toString in release mode for dart:ui classes (flutter/engine#12204)
2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from 7gDBN... to u7Q31... (flutter/engine#12221)
2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia d96ef09317d6..120e7d6766e4 (2 commits) (flutter/engine#12220)
2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from vDk46... to _nS67... (flutter/engine#12219)
2019-09-11 iska.kaushik@gmail.com Namespace patched SDK names to not conflict with Topaz (flutter/engine#12218)
2019-09-11 bkonyi@google.com Roll src/third_party/dart ca7baa4013..4d5e15abde (29 commits)
2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 14318c140949..d96ef09317d6 (2 commits) (flutter/engine#12216)
2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia b23a4f9d9442..14318c140949 (2 commits) (flutter/engine#12215)
2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 26ac0467cb4c..b23a4f9d9442 (2 commits) (flutter/engine#12214)
2019-09-11 bkonyi@google.com Roll src/third_party/dart 7bbfd532de..ca7baa4013 (3 commits)
2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from R1yqu... to 7gDBN... (flutter/engine#12212)
2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from spUG2... to vDk46... (flutter/engine#12210)
2019-09-11 chinmaygarde@google.com Roll buildroot and Fuchsia toolchain and unblock the Fuchsia/Linux autoroller manually. (flutter/engine#12209)
2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 4fe30e15c06c..26ac0467cb4c (2 commits) (flutter/engine#12207)
2019-09-11 chinmaygarde@google.com Only build the x64 variant of Fuchsia on the try-jobs. (flutter/engine#12206)
2019-09-10 hterkelsen@users.noreply.github.com Don't load Roboto by default (flutter/engine#12205)
2019-09-10 bkonyi@google.com Roll src/third_party/dart 300c3333d1..7bbfd532de (5 commits)
2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 66d8006c2bb1..4fe30e15c06c (11 commits) (flutter/engine#12202)
2019-09-10 yjbanov@google.com add a convenience CLI tool for building and testing web engine (flutter/engine#12197)
2019-09-10 jason-simmons@users.noreply.github.com [flutter_runner] Generate symbols for the Dart VM profiler (flutter/engine#12048)
2019-09-10 yjbanov@google.com Add custom test plugin that supports screenshot tests (flutter/engine#12079)
2019-09-10 chinmaygarde@google.com Move the Fuchsia tryjob into a its own step and disable LTO. (flutter/engine#12190)
2019-09-10 bkonyi@google.com Roll src/third_party/dart 62f78a7abb..300c3333d1 (6 commits)
2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia b88894c8811b..66d8006c2bb1 (5 commits) (flutter/engine#12178)
2019-09-10 jason-simmons@users.noreply.github.com [flutter_runner] Port the accessibility bridge from Topaz (flutter/engine#12054)
2019-09-10 liyuqian@google.com Smooth out iOS irregular input events delivery (flutter/engine#11817)
2019-09-10 bkonyi@google.com Roll src/third_party/dart ccb6ba948b..62f78a7abb (3 commits)
2019-09-10 jonahwilliams@google.com Make ImageShader implement Shader for web ui (flutter/engine#12161)
2019-09-10 bkonyi@google.com Roll src/third_party/dart 2e8d912848..ccb6ba948b (30 commits)
2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 9e5c47936b17..b88894c8811b (3 commits) (flutter/engine#12151)
2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 1bf30ce852e0..9e5c47936b17 (2 commits) (flutter/engine#12129)
2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 8cae1e95a23b..1bf30ce852e0 (2 commits) (flutter/engine#12106)
2019-09-10 skia-flutter-autoroll@skia.org Roll fuchsia/clang/mac-amd64 from H1Qjc... to HfPKR... (flutter/engine#12088)
2019-09-10 chinmaygarde@google.com Don't launch the observatory by default on each embedder unit-test invocation. (flutter/engine#12087)
2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia c2d84bfa7421..8cae1e95a23b (4 commits) (flutter/engine#12086)
2019-09-10 bkonyi@google.com Roll src/third_party/dart fb14babf59..2e8d912848 (65 commits)
2019-09-10 chinmaygarde@google.com Guard availability of user notification related methods to iOS 10.0 (flutter/engine#12084)
2019-09-09 bmparr@google.com Add capability to add AppDelegate as UNUserNotificationCenterDelegate (flutter/engine#9864)
...
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants