Trace predictionExpired and dropped frames properly
Allowing frames with prediction expired causes a undesirable skew in the trace. Since the timestamps are zero for this case, the trace packets are also sent out with zero timestamp. These zero timestamps are seen as the earliest possible time in a trace and hence make it look like the trace contains 1000s of seconds of data while it actually doesn't. This change addresses this issue by making SurfaceFrames not send any expected timeline packets if prediction is expired. For actual timeline packets, we apply a delta to the end time so that it looks like the frame has a start and an end. For dropped SurfaceFrames, we don't have an actual end time so far. This change adds a dropTime to the SurfaceFrame so that we can keep track of it in trace and dumpsys. Bug: 179905685 Test: libsurfaceflinger_unittest:FrameTimelineTest Change-Id: I573037be27f8a74670a65cad791841fa6ed75e20
Loading
Please register or sign in to comment