REST Resource: vitals.slowrenderingrate
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
المورد: SlowRenderingRateMetricSet
مورد فردي يمثّل مجموعة مقاييس العرض البطيء
تحتوي مجموعة المقاييس هذه على بيانات عرض منخفضة المستوى تم التقاطها بواسطة SurafeFlinger. يتم تقييم الجلسات استنادًا إلى الرسم البياني المدرّج التكراري للّقطات التي تم التعامل معها في أي طبقة من طبقات SurfaceFlinger يملكها التطبيق.
الجلسة البطيئة هي جلسة لم يتم فيها عرض أكثر من% 25 من لقطات الجلسة بالمعدّل المستهدَف لعدد اللقطات في الثانية (إما 20 أو 30 لقطة في الثانية).
ملاحظة: لا تتوفّر مجموعة المقاييس هذه إلا للألعاب.
فترات التجميع المتاحة:
DAILY
: يتم تجميع المقاييس في فواصل زمنية لتاريخ التقويم. بسبب القيود السابقة، لا تتوفّر سوى المنطقة الزمنية America/Los_Angeles
.
المقاييس المتوافقة:
-
slowRenderingRate20Fps
(google.type.Decimal
): النسبة المئوية للمستخدمين المختلفين خلال فترة التجميع الذين واجهوا بطئًا في العرض
-
slowRenderingRate20Fps7dUserWeighted
(google.type.Decimal
): متوسط التحرّك لقيمة slowRenderingRate20Fps
في آخر 7 أيام يتم ترجيح القيم اليومية حسب عدد المستخدمين المختلفين في اليوم.
-
slowRenderingRate20Fps28dUserWeighted
(google.type.Decimal
): قيمة المتوسط المتحرّك لـ slowRenderingRate20Fps
في آخر 28 يومًا يتم ترجيح القيم اليومية حسب عدد المستخدمين المختلفين في اليوم.
-
slowRenderingRate30Fps
(google.type.Decimal
): النسبة المئوية للمستخدمين المختلفين خلال فترة التجميع الذين واجهوا بطئًا في العرض
-
slowRenderingRate30Fps7dUserWeighted
(google.type.Decimal
): متوسط التحرّك لقيمة slowRenderingRate30Fps
في آخر 7 أيام يتم ترجيح القيم اليومية حسب عدد المستخدمين المختلفين في اليوم.
-
slowRenderingRate30Fps28dUserWeighted
(google.type.Decimal
): قيمة المتوسط المتحرّك لـ slowRenderingRate30Fps
في آخر 28 يومًا يتم ترجيح القيم اليومية حسب عدد المستخدمين المختلفين في اليوم.
distinctUsers
(google.type.Decimal
): عدد المستخدمين المميّزين في فترة التجميع الذين تم استخدامهم كقيمة تسوية للمقياس slowRenderingRate20Fps
/slowRenderingRate30Fps
. يتم احتساب المستخدم في هذا المقياس إذا كان تطبيقه يعرض أي إطارات. يجب الحرص على عدم تجميع هذا العدد أكثر من ذلك، لأنّ ذلك قد يؤدي إلى احتساب المستخدمين عدة مرات. يتم تقريب القيمة إلى أقرب مضاعف للعدد 10 أو 100 أو 1,000 أو 1,000,000، وذلك استنادًا إلى حجم القيمة.
السمات المتوافقة:
-
apiLevel
(string
): مستوى واجهة برمجة التطبيقات لنظام التشغيل Android الذي كان يعمل على جهاز المستخدم، على سبيل المثال: 26.
-
versionCode
(int64
): إصدار التطبيق الذي كان يعمل على جهاز المستخدم.
-
deviceModel
(string
): معرّف فريد لطراز جهاز المستخدم. يكون شكل المعرّف هو deviceBrand/device، حيث يتوافق deviceBrand مع Build.BRAND ويتوافق device مع Build.DEVICE، على سبيل المثال google/coral.
-
deviceBrand
(string
): معرّف فريد للعلامة التجارية لجهاز المستخدِم، مثل google.
-
deviceType
(string
): نوع جهاز المستخدِم (المعروف أيضًا باسم شكل الجهاز)، مثل هاتف
-
countryCode
(string
): البلد أو المنطقة التي يقع فيها جهاز المستخدِم استنادًا إلى عنوان IP الخاص به، ويتم تمثيلهما كرمز مكوّن من حرفَين وفقًا لمعيار ISO-3166 (مثل US للولايات المتحدة).
-
deviceRamBucket
(int64
): ذاكرة الوصول العشوائي (RAM) للجهاز، بالميغابايت، في حِزم (3 غيغابايت و4 غيغابايت وما إلى ذلك).
-
deviceSocMake
(string
): ماركة نظام الجهاز الأساسي على الشريحة، مثل Samsung المرجع
-
deviceSocModel
(string
): طراز نظام الجهاز الأساسي على الشريحة، مثل "Exynos 2100". المرجع
-
deviceCpuMake
(string
): الشركة المصنّعة لوحدة المعالجة المركزية (CPU) بالجهاز، مثل Qualcomm
-
deviceCpuModel
(string
): طراز وحدة المعالجة المركزية (CPU) للجهاز، مثل "Kryo 240".
-
deviceGpuMake
(string
): يشير إلى الشركة المصنّعة لوحدة معالجة الرسومات في الجهاز، مثل ARM.
-
deviceGpuModel
(string
): طراز وحدة معالجة الرسومات في الجهاز، مثل مالي
-
deviceGpuVersion
(string
): إصدار وحدة معالجة الرسومات في الجهاز، مثل 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
المعرّف اسم المورد التنسيق: apps/{app}/slowRenderingRateMetricSet
|
freshnessInfo |
object (FreshnessInfo )
ملخّص حول مدى حداثة البيانات في هذا المرجع
|
الطُرق |
|
توضّح هذه السمة خصائص مجموعة المقاييس. |
|
يطلب هذا الإجراء المقاييس في مجموعة المقاييس. |
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 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. |"]]