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

Commit 9ccaa33

Browse files
authored
Fix wrong VSYNC event (#36775)
1 parent 21d74d6 commit 9ccaa33

File tree

4 files changed

+15
-4
lines changed

4 files changed

+15
-4
lines changed

shell/common/vsync_waiter.cc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,17 @@ void VsyncWaiter::FireCallback(fml::TimePoint frame_start_time,
8989
bool pause_secondary_tasks) {
9090
FML_DCHECK(fml::TimePoint::Now() >= frame_start_time);
9191

92+
// The event named "VSYNC" is special in `chrome://tracing` tool - it will
93+
// have a zebra visualization.
94+
fml::tracing::TraceTimelineEvent(
95+
"flutter", "VSYNC", frame_start_time.ToEpochDelta().ToMicroseconds(), 0,
96+
Dart_Timeline_Event_Begin, {"frame_start_time", "frame_target_time"},
97+
{std::to_string(frame_start_time.ToEpochDelta().ToMicroseconds()),
98+
std::to_string(frame_target_time.ToEpochDelta().ToMicroseconds())});
99+
fml::tracing::TraceTimelineEvent(
100+
"flutter", "VSYNC", frame_target_time.ToEpochDelta().ToMicroseconds(), 0,
101+
Dart_Timeline_Event_End, {}, {});
102+
92103
Callback callback;
93104
std::vector<fml::closure> secondary_callbacks;
94105

shell/common/vsync_waiter_fallback.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ VsyncWaiterFallback::~VsyncWaiterFallback() = default;
3535

3636
// |VsyncWaiter|
3737
void VsyncWaiterFallback::AwaitVSync() {
38-
TRACE_EVENT0("flutter", "VSYNC");
38+
TRACE_EVENT0("flutter", "VsyncCallback");
3939

4040
constexpr fml::TimeDelta kSingleFrameInterval =
4141
fml::TimeDelta::FromSecondsF(1.0 / 60.0);

shell/platform/android/vsync_waiter_android.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ void VsyncWaiterAndroid::AwaitVSync() {
5252

5353
// static
5454
void VsyncWaiterAndroid::OnVsyncFromNDK(int64_t frame_nanos, void* data) {
55-
TRACE_EVENT0("flutter", "VSYNC");
55+
TRACE_EVENT0("flutter", "VsyncCallback");
5656

5757
auto frame_time = fml::TimePoint::FromEpochDelta(
5858
fml::TimeDelta::FromNanoseconds(frame_nanos));
@@ -72,7 +72,7 @@ void VsyncWaiterAndroid::OnVsyncFromJava(JNIEnv* env,
7272
jlong frameDelayNanos,
7373
jlong refreshPeriodNanos,
7474
jlong java_baton) {
75-
TRACE_EVENT0("flutter", "VSYNC");
75+
TRACE_EVENT0("flutter", "VsyncCallback");
7676

7777
auto frame_time =
7878
fml::TimePoint::Now() - fml::TimeDelta::FromNanoseconds(frameDelayNanos);

shell/platform/darwin/ios/framework/Source/vsync_waiter_ios.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ - (void)pause {
102102
}
103103

104104
- (void)onDisplayLink:(CADisplayLink*)link {
105-
TRACE_EVENT0("flutter", "VSYNC");
105+
TRACE_EVENT0("flutter", "VsyncCallback");
106106

107107
CFTimeInterval delay = CACurrentMediaTime() - link.timestamp;
108108
fml::TimePoint frame_start_time = fml::TimePoint::Now() - fml::TimeDelta::FromSecondsF(delay);

0 commit comments

Comments
 (0)