REST Resource: vitals.slowrenderingrate
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
資源:SlowRenderingRateMetricSet
代表一組「緩慢算繪」指標的單例資源。
這組指標包含 SurfaceFlinger 擷取的低層級算繪資料。系統會根據應用程式擁有的任何 SurfaceFlinger 層所處理影格的呈現時間直方圖,評估工作階段。
緩慢工作階段是指工作階段中超過 25% 的影格未達到指標的目標影格速率 (20 或 30 FPS)。
注意:這組指標僅適用於遊戲。
支援的匯總期間:
DAILY
:指標會以日曆日期間隔匯總。由於歷史限制,目前僅支援 America/Los_Angeles
時區。
支援的指標:
slowRenderingRate20Fps
(google.type.Decimal
):匯總期間內,發生緩慢算繪問題的不重複使用者百分比。
slowRenderingRate20Fps7dUserWeighted
(google.type.Decimal
):過去 7 天的slowRenderingRate20Fps
累計平均值。每日值會根據當天不重複使用者人數加權計算。
slowRenderingRate20Fps28dUserWeighted
(google.type.Decimal
):過去 28 天的slowRenderingRate20Fps
累計平均值。每日值會根據當天不重複使用者人數加權計算。
slowRenderingRate30Fps
(google.type.Decimal
):匯總期間內,發生緩慢算繪問題的不重複使用者百分比。
slowRenderingRate30Fps7dUserWeighted
(google.type.Decimal
):過去 7 天的slowRenderingRate30Fps
累計平均值。每日值會根據當天不重複使用者人數加權計算。
slowRenderingRate30Fps28dUserWeighted
(google.type.Decimal
):過去 28 天的slowRenderingRate30Fps
累計平均值。每日值會根據當天不重複使用者人數加權計算。
distinctUsers
(google.type.Decimal
):彙整期間內不重複的使用者人數,用來做為 slowRenderingRate20Fps
/slowRenderingRate30Fps
指標的正規化值。如果應用程式轉譯了任何影格,系統就會將使用者計入這項指標。請務必不要進一步匯總這項計數,否則可能會導致系統重複計算使用者。系統會根據值的大小,將值四捨五入至最接近的 10、100、1,000 或 1,000,000 倍數。
支援的尺寸:
apiLevel
(string
):使用者裝置上執行的 Android API 級別,例如 26.
versionCode
(int64
):使用者裝置上執行的應用程式版本。
deviceModel
(string
):使用者裝置型號的專屬 ID。識別碼格式為「deviceBrand/device」,其中 deviceBrand 對應於 Build.BRAND,device 則對應於 Build.DEVICE,例如「google/coral」。
deviceBrand
(string
):使用者裝置品牌的專屬 ID,例如 google。
deviceType
(string
):使用者裝置的類型 (也稱為板型規格),例如PHONE.
countryCode
(string
):根據使用者 IP 位址判斷的裝置國家/地區,以 2 個字母的 ISO-3166 代碼表示 (例如美國為「US」)。
deviceRamBucket
(int64
):裝置的 RAM (以 MB 為單位),以儲存區的形式 (3 GB、4 GB 等)。
deviceSocMake
(string
):裝置主要系統單晶片的製造商,例如 Samsung。參考資料
deviceSocModel
(string
):裝置主要系統單晶片的型號,例如 「Exynos 2100」。參考資料
deviceCpuMake
(string
):裝置 CPU 的製造商,例如 Qualcomm。
deviceCpuModel
(string
):裝置 CPU 型號,例如 「Kryo 240」。
deviceGpuMake
(string
):裝置 GPU 的製造商,例如 ARM。
deviceGpuModel
(string
):裝置 GPU 的型號,例如 馬利。
deviceGpuVersion
(string
):裝置 GPU 的版本,例如 T750。
deviceVulkanVersion
(string
):裝置的 Vulkan 版本,例如 「4198400」。
deviceGlEsVersion
(string
):裝置的 OpenGL ES 版本,例如 「196610」。
deviceScreenSize
(string
):裝置的螢幕大小,例如 NORMAL、LARGE。
deviceScreenDpi
(string
):裝置的螢幕密度,例如 mdpi、hdpi。
必要權限:如要存取這項資源,呼叫使用者必須具備應用程式的「查看應用程式資訊 (唯讀)」權限。
JSON 表示法 |
{
"name": string,
"freshnessInfo": {
object (FreshnessInfo )
}
} |
欄位 |
name |
string
ID。資源名稱。 格式:apps/{app}/slowRenderingRateMetricSet
|
freshnessInfo |
object (FreshnessInfo )
這項資源的資料更新間隔摘要。
|
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-26 (世界標準時間)。
[null,null,["上次更新時間:2025-07-26 (世界標準時間)。"],[[["\u003cp\u003eThe Slow Rendering Rate Metric Set provides insights into low-level rendering data for games, specifically focusing on frames handled by SurfaceFlinger.\u003c/p\u003e\n"],["\u003cp\u003eA slow session is defined as one where over 25% of frames fail to meet the target frame rate (20fps or 30fps).\u003c/p\u003e\n"],["\u003cp\u003eMetrics include slow rendering rates at both 20fps and 30fps, along with their 7-day and 28-day rolling averages, and distinct user counts.\u003c/p\u003e\n"],["\u003cp\u003eDimensions allow filtering data by device attributes (e.g., API level, model, brand), location, and app version.\u003c/p\u003e\n"],["\u003cp\u003eAccess requires the "View app information (read-only)" permission for the app in question.\u003c/p\u003e\n"]]],["The SlowRenderingRateMetricSet resource provides low-level rendering metrics for games, evaluating sessions where over 25% of frames fail to meet 20fps or 30fps targets. Metrics include slow rendering rates, 7/28-day user-weighted averages, and distinct user counts, aggregated daily in the `America/Los_Angeles` timezone. Supported dimensions cover API level, version code, device details, country code, RAM, SOC, CPU/GPU information, and screen properties. The resource can be accessed via `get` and `query` methods with the *View app information* permission.\n"],null,["# REST Resource: vitals.slowrenderingrate\n\n- [Resource: SlowRenderingRateMetricSet](#SlowRenderingRateMetricSet)\n - [JSON representation](#SlowRenderingRateMetricSet.SCHEMA_REPRESENTATION)\n- [Methods](#METHODS_SUMMARY)\n\nResource: SlowRenderingRateMetricSet\n------------------------------------\n\nSingleton resource representing the set of Slow Rendering metrics.\n\nThis metric set contains low-level rendering data captured by SurafeFlinger. Sessions are evaluated based on the present-to-present histogram of frames handled by any SurfaceFlinger layer owned by the app.\n\nA slow session is a session where more than 25% of frames for the session did not meet the metric's target frame rate (either 20fps, or 30fps).\n\n*NOTE:* This metric set is only available for games.\n\n**Supported aggregation periods:**\n\n- [DAILY](/play/developer/reporting/reference/rest/v1alpha1/AggregationPeriod#ENUM_VALUES.DAILY): metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`.\n\n**Supported metrics:**\n\n- `slowRenderingRate20Fps` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had slow rendering.\n- `slowRenderingRate20Fps7dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowRenderingRate20Fps` in the last 7 days. The daily values are weighted by the count of distinct users for the day.\n- `slowRenderingRate20Fps28dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowRenderingRate20Fps` in the last 28 days. The daily values are weighted by the count of distinct users for the day.\n- `slowRenderingRate30Fps` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had slow rendering.\n- `slowRenderingRate30Fps7dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowRenderingRate30Fps` in the last 7 days. The daily values are weighted by the count of distinct users for the day.\n- `slowRenderingRate30Fps28dUserWeighted` (`google.type.Decimal`): Rolling average value of `slowRenderingRate30Fps` in the last 28 days. The daily values are weighted by the count of distinct users for the day.\n- `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `slowRenderingRate20Fps`/`slowRenderingRate30Fps` metric. A user is counted in this metric if their app rendered any frames. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value.\n\n**Supported dimensions:**\n\n- `apiLevel` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): the API level of Android that was running on the user's device, e.g., 26.\n- `versionCode` ([int64](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.int64_value)): version of the app that was running on the user's device.\n- `deviceModel` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral.\n- `deviceBrand` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): unique identifier of the user's device brand, e.g., google.\n- `deviceType` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): the type (also known as form factor) of the user's device, e.g., PHONE.\n- `countryCode` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States).\n- `deviceRamBucket` ([int64](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.int64_value)): RAM of the device, in MB, in buckets (3GB, 4GB, etc.).\n- `deviceSocMake` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER)\n- `deviceSocModel` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL)\n- `deviceCpuMake` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Make of the device's CPU, e.g., Qualcomm.\n- `deviceCpuModel` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Model of the device's CPU, e.g., \"Kryo 240\".\n- `deviceGpuMake` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Make of the device's GPU, e.g., ARM.\n- `deviceGpuModel` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Model of the device's GPU, e.g., Mali.\n- `deviceGpuVersion` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Version of the device's GPU, e.g., T750.\n- `deviceVulkanVersion` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Vulkan version of the device, e.g., \"4198400\".\n- `deviceGlEsVersion` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): OpenGL ES version of the device, e.g., \"196610\".\n- `deviceScreenSize` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Screen size of the device, e.g., NORMAL, LARGE.\n- `deviceScreenDpi` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Screen density of the device, e.g., mdpi, hdpi.\n\n**Required permissions** : to access this resource, the calling user needs the *View app information (read-only)* permission for the app.\n\n| JSON representation |\n|---------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"name\": string, \"freshnessInfo\": { object (/play/developer/reporting/reference/rest/v1alpha1/FreshnessInfo) } } ``` |\n\n| Fields ||\n|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------|\n| `name` | `string` Identifier. The resource name. Format: apps/{app}/slowRenderingRateMetricSet |\n| `freshnessInfo` | `object (`[FreshnessInfo](/play/developer/reporting/reference/rest/v1alpha1/FreshnessInfo)`)` Summary about data freshness in this resource. |\n\n| Methods ------- ||\n|-----------------------------------------------------------------------------------------------|---------------------------------------------|\n| ### [get](/play/developer/reporting/reference/rest/v1alpha1/vitals.slowrenderingrate/get) | Describes the properties of the metric set. |\n| ### [query](/play/developer/reporting/reference/rest/v1alpha1/vitals.slowrenderingrate/query) | Queries the metrics in the metric set. |"]]