Trace render window state using a counter.

This makes it show up as an individual track in perfetto
allowing rendering to be more easily inspected.
https://screenshot.googleplex.com/3eyicjpxdKaG3oE

Bug: b/217863437
Change-Id: I2710a8709141fda50ec613390161ab9c6526b931
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/328381
Auto-Submit: Linus Nilsson <lnilsson@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Reviewed-by: Zoé Lepaul <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41222}
This commit is contained in:
Linus Nilsson 2023-11-23 14:15:01 +01:00 committed by WebRTC LUCI CQ
parent 0322493aed
commit 518e181ab5

View File

@ -10,8 +10,11 @@
package org.webrtc;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.os.Handler;
import android.os.Looper;
import android.os.Trace;
import android.view.Choreographer;
import androidx.annotation.GuardedBy;
import java.util.List;
@ -100,8 +103,15 @@ public final class RenderSynchronizer {
}
}
private void traceRenderWindowChange() {
if (VERSION.SDK_INT >= VERSION_CODES.Q) {
Trace.setCounter("RenderWindow", renderWindowOpen ? 1 : 0);
}
}
private void openRenderWindow() {
renderWindowOpen = true;
traceRenderWindowChange();
for (Listener listener : listeners) {
listener.onRenderWindowOpen();
}
@ -109,6 +119,7 @@ public final class RenderSynchronizer {
private void closeRenderWindow() {
renderWindowOpen = false;
traceRenderWindowChange();
for (Listener listener : listeners) {
listener.onRenderWindowClose();
}