You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 7b2a98f
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,7 @@ Mapbox welcomes participation and contributions from everyone.
7
7
# main
8
8
9
9
## Features ✨ and improvements 🏁
10
+
* Deprecated `RenderThreadStats.totalDroppedFrames`. Added `totalSkippedVsync`, `pacedSkippedVsync`, and `missedMapRenderFrames` for an accurate breakdown of frame performance when `setMaximumFps()` is used.
10
11
* Report render-thread frame timing to the Android Dynamic Performance Framework (ADPF) on API 31+ devices, allowing the OS to scale CPU frequency based on actual rendering load.
Copy file name to clipboardExpand all lines: maps-sdk/api/maps-sdk.api
+4-1Lines changed: 4 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -751,15 +751,18 @@ public abstract interface annotation class com/mapbox/maps/renderer/RenderThread
751
751
}
752
752
753
753
public final class com/mapbox/maps/renderer/RenderThreadStats {
754
-
public synthetic fun <init> (JJJLjava/util/List;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
754
+
public synthetic fun <init> (JJJJJJLjava/util/List;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
755
755
public fun equals (Ljava/lang/Object;)Z
756
756
public final fun getFrameTimeList ()Ljava/util/List;
757
+
public final fun getMissedMapRenderFrames ()J
758
+
public final fun getPacedSkippedVsync ()J
757
759
public final fun getPercentile50 ()Ljava/lang/Double;
758
760
public final fun getPercentile90 ()Ljava/lang/Double;
759
761
public final fun getPercentile95 ()Ljava/lang/Double;
760
762
public final fun getPercentile99 ()Ljava/lang/Double;
@@ -72,7 +79,9 @@ class RenderThreadStatsRecorder {
72
79
.build()
73
80
.also {
74
81
startTime =0L
75
-
totalDroppedFrames =0L
82
+
totalSkippedVsync =0L
83
+
pacedSkippedVsync =0L
84
+
missedMapRenderFrames =0L
76
85
frameTimeList.clear()
77
86
}
78
87
}
@@ -92,9 +101,33 @@ class RenderThreadStats private constructor(
92
101
*/
93
102
valtotalFrames:Long,
94
103
/**
95
-
* Total number of dropped frames.
104
+
* Number of VSYNC pulses skipped because a render missed its deadline (took too long).
105
+
*
106
+
* @deprecated Renamed to [totalSkippedVsync]. This field never included intentional pacing
107
+
* skips from [setMaximumFps][com.mapbox.maps.MapboxMap.setMaximumFps] - see [pacedSkippedVsync]
108
+
* for those, tracked separately.
96
109
*/
110
+
@Deprecated(
111
+
message ="Renamed to totalSkippedVsync. This field only counts missed-render-deadline VSYNCs; see pacedSkippedVsync for intentional pacing skips.",
112
+
replaceWith =ReplaceWith("totalSkippedVsync")
113
+
)
97
114
valtotalDroppedFrames:Long,
115
+
/**
116
+
* Number of VSYNC pulses skipped because a render missed its deadline (took too long).
117
+
* Does not include intentional pacing skips from [setMaximumFps][com.mapbox.maps.MapboxMap.setMaximumFps] -
118
+
* see [pacedSkippedVsync] for those. Replacement for the deprecated [totalDroppedFrames].
119
+
*/
120
+
valtotalSkippedVsync:Long,
121
+
/**
122
+
* Number of VSYNC pulses intentionally skipped due to frame pacing (i.e., [setMaximumFps][com.mapbox.maps.MapboxMap.setMaximumFps] is active).
123
+
* These are not missed render deadlines — they are expected skips.
124
+
*/
125
+
valpacedSkippedVsync:Long,
126
+
/**
127
+
* Number of map render frames missed because the render took longer than the target frame time.
128
+
* This counts misses relative to the map render frame rate (which may differ from the screen refresh rate when [setMaximumFps][com.mapbox.maps.MapboxMap.setMaximumFps] is set).
129
+
*/
130
+
valmissedMapRenderFrames:Long,
98
131
/**
99
132
* List of rendered frames times in milliseconds.
100
133
*/
@@ -120,7 +153,7 @@ class RenderThreadStats private constructor(
120
153
* @return Returns a string representation of the object.
0 commit comments