تحسين معدّلات التحديث

يضبط Android 15 معدل إعادة تحميل تلقائيًا يبلغ 60 هرتز للألعاب بهدف تحسين استهلاك الطاقة. للاستفادة من معدّلات عرض لقطات في الثانية أعلى من 120، يجب الآن طلبها بشكل صريح باستخدام Frame Rate API أو مكتبة Swappy.

ومع ذلك، قد يتجاهل النظام هذا الطلب استنادًا إلى عوامل مثل مستوى البطارية أو درجة حرارة الجهاز. مع أنّ معدّلات التحديث العالية تحسّن سلاسة العرض المرئي، فإنّها تتطلّب أيضًا طاقة أكبر وتولّد حرارة إضافية. لذلك، من المهم أن تتيح للمستخدمين إمكانية اختيار معدّل التحديث المفضّل لديهم، وأن تراقب الأداء بعناية لضمان تقديم تجربة متوازنة للمستخدمين.

استخدام واجهة برمجة التطبيقات setFrameRate()

تتيح واجهة برمجة التطبيقات setFrameRate() لمطوّري الألعاب استخدام معدّل تحديث معيّن للشاشة. يجب اتّباع الخطوتَين التاليتَين لإجراء ذلك:

  1. تأكَّد من توافق الجهاز وإصدار Android.
  2. اطلب معدّل لقطات مرتفعًا في الثانية باستخدام setFrameRate().

التأكّد من توافق الجهاز وإصدار Android:

استخدِم الطريقتَين Display.getSupportedModes() لتحديد ما إذا كان الجهاز يتيح معدلات إعادة تحميل تبلغ 90 هرتز أو 120 هرتز أو معدلات أخرى. إذا كان الجهاز يقتصر على 60 هرتز، لا يمكن تجاوز هذا الحد.

Kotlin

val display = windowManager.defaultDisplay
val supportedModes = display.supportedModes
for (mode in supportedModes) {
  Log.d("DisplayInfo", "Supported mode: ${mode.physicalWidth}x${mode.physicalHeight}, ${mode.refreshRate}Hz")
}

طلب عدد كبير من اللقطات في الثانية

استدعِ الدالة setFrameRate() عند بدء حلقة العرض، أو أثناء تهيئة نافذة اللعبة، أو عندما تحتاج معدّل اللقطات في الثانية المستهدَف إلى تغيير معدّل إعادة تحميل الشاشة.

حتى إذا طلبت معدّل تحديث أعلى، قد يظل النظام يحدّ من معدّل التحديث إلى 60 هرتز بسبب عوامل مثل وضع توفير الطاقة أو الحدّ من سرعة المعالجة بسبب الحرارة الزائدة. إذا لم يصل أداء العرض في لعبتك إلى عدد اللقطات المستهدَف في الثانية، قد يؤدي طلب معدّل تحديث أعلى إلى استهلاك غير ضروري للطاقة وزيادة درجة حرارة الجهاز.

يوضّح المقتطف التالي كيفية تجنُّب معدّل إعادة تحميل مرتفع جدًا باستخدام واجهة برمجة التطبيقات setFrameRate().

Kotlin

val targetFps = 120f
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
  window.setFrameRate(
      targetFps,
      Window.FrameRateCompatibility.FRAME_RATE_COMPATIBILITY_FIXED_SOURCE,
      0
  )
}

تقدّم صفحة "معدل عرض اللقطات في الثانية" معلومات أكثر تفصيلاً يمكنك الاطّلاع عليها.

استخدام مكتبة Frame pacing

مكتبة عرض اللقطات، أو Swappy، هي مكتبة مفتوحة المصدر مصمَّمة لتبسيط إدارة المزامنة العمودية وجدولة اللقطات في محركات ألعاب Android المكتوبة بلغتَي C/C++. تعمل هذه الأداة على تبسيط عملية تحسين معدّلات التحديث، وتعمل بشكل فعّال كطبقة تجريد ذات مستوى أعلى من الوظائف، مثل setFrameRate(). بالإضافة إلى ذلك، يوفّر Swappy ميزات إضافية يمكنها تحسين سلاسة لعبتك وأدائها بشكل عام.

تقدّم صفحة Swappy معلومات أكثر تفصيلاً.

ملاحظات إضافية للحصول على أفضل النتائج

يوضّح القسم التالي بعض أهم النصائح:

  1. تبديل معدّل اللقطات الديناميكي
  2. مراقبة الأداء
  3. توفير خيارات عدد اللقطات في الثانية استنادًا إلى الحدّ الأقصى لمعدّل إعادة تحميل شاشة العرض

التبديل الديناميكي لعدد اللقطات في الثانية

لتحسين الأداء واستهلاك الطاقة، ننصحك بتنفيذ ميزة التبديل الديناميكي لعدد اللقطات في الثانية في لعبتك. تتيح لك هذه التقنية التبديل بسلاسة بين معدلات إعادة التحميل الأعلى، مثل 120 هرتز، للحصول على تجربة لعب أكثر سلاسة أثناء المشاهد التي تتطلّب أداءً عاليًا، ومعدلات إعادة التحميل الأقل، مثل 60 هرتز، أثناء اللحظات الأقل كثافة أو عندما يكون عمر البطارية مهمًا أو عند استهداف معدل أقل من 60 إطارًا في الثانية. قد يؤدي تشغيل معدّل التحديث 120 هرتز باستمرار إلى ارتفاع درجة الحرارة بشكل مفرط واستنزاف البطارية بسرعة، ما قد يؤدي إلى تقديم تجربة سلبية للمستخدم. من خلال الضبط الذكي لمعدّل التحديث استنادًا إلى حِمل العرض الحالي وظروف الجهاز، يمكنك تحقيق التوازن بين دقة العرض وكفاءة استهلاك الطاقة.

مراقبة الأداء

لضمان عمل لعبتك على النحو الأمثل عند معدّلات تحديث أعلى، عليك دمج أدوات مراقبة الأداء، مثل عدّاد اللقطات أو طبقة عرض الأداء. توفّر هذه الأدوات ملاحظات في الوقت الفعلي حول عدد اللقطات في الثانية الفعلي في لعبتك، ما يتيح لك التأكّد من أنّك تحقّق باستمرار عدد اللقطات المستهدَف وهو 120 لقطة في الثانية.

إذا كان عدد اللقطات في الثانية يتفاوت بشكل كبير، ننصحك باستهداف عدد أقل من اللقطات في الثانية يمكن تحقيقه على الجهاز المحدّد. ويمكن أن يوفّر ذلك تجربة أكثر سلاسة بدون مشاكل الأداء التي قد تحدث عند السعي للحصول على أعلى معدّل تحديث.

توفير خيارات عدد اللقطات في الثانية استنادًا إلى الحدّ الأقصى لمعدّل إعادة تحميل الشاشة

يجب أن ترصد لعبتك الحد الأقصى لمعدّل تحديث شاشة العرض الذي يتيحه الجهاز الحالي، مثل 60 هرتز أو 90 هرتز أو 120 هرتز، وأن تحدّ من إعدادات عدد اللقطات في الثانية وفقًا لذلك. على سبيل المثال، إذا كان الجهاز يتيح معدل 60 هرتز فقط، يُنصح بإيقاف أي خيارات أعلى من 60 لقطة في الثانية في إعدادات اللعبة لتجنُّب إرباك اللاعب.