Skip to content

Commit 9eb4842

Browse files
committed
Log the gap before the passive effects as animating
1 parent c9a7932 commit 9eb4842

File tree

2 files changed

+52
-7
lines changed

2 files changed

+52
-7
lines changed

packages/react-reconciler/src/ReactFiberPerformanceTrack.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,6 +1435,41 @@ export function logStartViewTransitionYieldPhase(
14351435
}
14361436
}
14371437

1438+
export function logAnimatingPhase(
1439+
startTime: number,
1440+
endTime: number,
1441+
debugTask: null | ConsoleTask,
1442+
): void {
1443+
if (supportsUserTiming) {
1444+
if (endTime <= startTime) {
1445+
return;
1446+
}
1447+
if (__DEV__ && debugTask) {
1448+
debugTask.run(
1449+
// $FlowFixMe[method-unbinding]
1450+
console.timeStamp.bind(
1451+
console,
1452+
'Animating',
1453+
startTime,
1454+
endTime,
1455+
currentTrack,
1456+
LANES_TRACK_GROUP,
1457+
'secondary',
1458+
),
1459+
);
1460+
} else {
1461+
console.timeStamp(
1462+
'Animating',
1463+
startTime,
1464+
endTime,
1465+
currentTrack,
1466+
LANES_TRACK_GROUP,
1467+
'secondary',
1468+
);
1469+
}
1470+
}
1471+
}
1472+
14381473
export function logPassiveCommitPhase(
14391474
startTime: number,
14401475
endTime: number,

packages/react-reconciler/src/ReactFiberWorkLoop.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ import {
8484
logCommitPhase,
8585
logPaintYieldPhase,
8686
logStartViewTransitionYieldPhase,
87+
logAnimatingPhase,
8788
logPassiveCommitPhase,
8889
logYieldTime,
8990
logActionYieldTime,
@@ -3787,7 +3788,7 @@ function flushSpawnedWork(): void {
37873788
pendingDelayedCommitReason === ABORTED_VIEW_TRANSITION_COMMIT,
37883789
workInProgressUpdateTask, // TODO: Use a ViewTransition Task.
37893790
);
3790-
if (pendingDelayedCommitReason === IMMEDIATE_COMMIT) {
3791+
if (pendingDelayedCommitReason !== ABORTED_VIEW_TRANSITION_COMMIT) {
37913792
pendingDelayedCommitReason = ANIMATION_STARTED_COMMIT;
37923793
}
37933794
}
@@ -4283,12 +4284,21 @@ function flushPassiveEffectsImpl() {
42834284
if (enableProfilerTimer && enableComponentPerformanceTrack) {
42844285
resetCommitErrors();
42854286
passiveEffectStartTime = now();
4286-
logPaintYieldPhase(
4287-
commitEndTime,
4288-
passiveEffectStartTime,
4289-
pendingDelayedCommitReason === DELAYED_PASSIVE_COMMIT,
4290-
workInProgressUpdateTask,
4291-
);
4287+
if (pendingDelayedCommitReason === ANIMATION_STARTED_COMMIT) {
4288+
// The animation was started, so we've been animating since that happened.
4289+
logAnimatingPhase(
4290+
commitEndTime,
4291+
passiveEffectStartTime,
4292+
workInProgressUpdateTask, // TODO: Use a ViewTransition Task
4293+
);
4294+
} else {
4295+
logPaintYieldPhase(
4296+
commitEndTime,
4297+
passiveEffectStartTime,
4298+
pendingDelayedCommitReason === DELAYED_PASSIVE_COMMIT,
4299+
workInProgressUpdateTask,
4300+
);
4301+
}
42924302
}
42934303

42944304
if (enableSchedulingProfiler) {

0 commit comments

Comments
 (0)