يضبط نظام التشغيل Android 15 معدّل إعادة تحميل تلقائيًا يبلغ 60 هرتز للألعاب من أجل تحسين استهلاك الطاقة. للاستفادة من معدّلات عرض صور أعلى، مثل 120 لقطة في الثانية، يجب الآن طلبها صراحةً باستخدام واجهة برمجة التطبيقات Frame Rate API أو مكتبة Swappy.
ومع ذلك، قد يتجاهل النظام هذا الطلب استنادًا إلى عوامل مثل مستوى شحن البطارية أو درجة حرارة الجهاز. على الرغم من أنّ معدّلات التحديث العالية تُحسِّن من سلاسة المحتوى المرئي، إلا أنّها تتطلّب أيضًا طاقة أكبر وتُنشئ حرارة إضافية. لذلك، من المهم منح المستخدمين خيار اختيار معدّل التحديث المفضّل لديهم ومراقبة الأداء بعناية لضمان توفير تجربة متوازنة للمستخدمين.
استخدام واجهة برمجة التطبيقات setFrameRate()
تسمح واجهة برمجة التطبيقات setFrameRate()
لمطوّري الألعاب باستخدام معدل محدد لإعادة رسوم الشاشة. هناك خطوتان لإجراء ذلك:
- تأكَّد من توافق الجهاز وإصدار Android.
- اطلب عددًا كبيرًا من اللقطات في الثانية باستخدام
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
)
}
تقدّم صفحة "معدل عرض اللقطات" معلومات أكثر تفصيلاً للاطّلاع عليها.
استخدام مكتبة "معدّل عرض اللقطات"
مكتبة معدل عرض اللقطات، أو Swappy، هي مكتبة مفتوحة المصدر مصمّمة بهدف
تبسيط إدارة VSync وجدولة اللقطات في محركات ألعاب Android المكتوبة بلغة C/C++.
تعمل هذه الأداة على تبسيط عملية تحسين معدّلات التحديث، وتعمل بفعالية
كطبقة تجريدية ذات مستوى أعلى على وظائف مثل
setFrameRate()
. بالإضافة إلى ذلك، يوفّر Swappy ميزات إضافية يمكنها
تحسين سلاسة لعبتك وأدائها العام.
تقدّم صفحة Swappy معلومات أكثر تفصيلاً.
نصائح إضافية للحصول على أفضل النتائج
يوضّح القسم التالي العديد من أهم النصائح:
- التبديل الديناميكي لعدد اللقطات في الثانية
- مراقبة الأداء
- قدِّم خيارات عدد اللقطات في الثانية استنادًا إلى الحد الأقصى لمعدّل إعادة تحميل الشاشة.
التبديل الديناميكي لعدد اللقطات في الثانية
لتحسين كلّ من الأداء واستهلاك الطاقة، ننصحك بتنفيذ التبديل الديناميكي لعدد اللقطات في الثانية في لعبتك. تتيح لك هذه التقنية التبديل بسلاسة بين معدّلات إعادة تحميل أعلى، مثل 120 هرتز لتشغيل ألعاب أكثر سلاسة أثناء المشاهد المكثفة، ومعدّلات أقل، مثل 60 هرتز خلال اللحظات الأقل كثافة أو عندما تكون البطارية على وشك النفاد أو عند استهداف عدد أقل من اللقطات في الثانية. يمكن أن يؤدي تشغيل الشاشة باستمرار بمعدّل 120 هرتز إلى توليد الكثير من الحرارة واستنزاف البطارية بسرعة، ما قد يؤدي إلى تقديم تجربة سلبية للمستخدم. من خلال ضبط معدل التحديث بذكاء استنادًا إلى حمل العرض الحالي وظروف الجهاز، يمكنك تحقيق التوازن بين الدقّة المرئية وكفاءة الطاقة.
مراقبة الأداء
لضمان تحقيق أفضل أداء للعبة عند معدّلات تحديث أعلى، يمكنك دمج أدوات مراقبة الأداء، مثل أداة احتساب اللقطات أو أداة عرض الأداء. تقدّم هذه الأدوات ملاحظات فورية حول عدد اللقطات الفعلي في الثانية للعبة، مما يتيح لك التحقّق مما إذا كنت تحقّق باستمرار عدد اللقطات المستهدَف في الثانية، والذي يبلغ 120 لقطة.
إذا كان عدد اللقطات في الثانية يتفاوت بشكل كبير، ننصحك باستهداف عدد لقطات في الثانية أقل مما يمكن تحقيقه على الجهاز المحدّد. ويمكن أن يوفّر ذلك تجربة أكثر سلاسة بدون حدوث مشاكل في الأداء قد تحدث عند السعي لتحقيق أعلى معدل تحديث.
توفير خيارات عدد اللقطات في الثانية استنادًا إلى الحد الأقصى لمعدّل إعادة تحميل الشاشة
من المفترض أن ترصد لعبتك الحد الأقصى لمعدّل تحديث الشاشة المتوافق مع الجهاز الحالي، مثل 60 هرتز أو 90 هرتز أو 120 هرتز، وأن تحدّ من إعدادات عدد اللقطات في الثانية وفقًا لذلك. على سبيل المثال، إذا كان الجهاز لا يتوافق إلا مع معدل تكرار يصل إلى 60 هرتز، ننصح بإيقاف أي خيارات أعلى من 60 لقطة في الثانية في إعدادات اللعبة لتجنّب إرباك اللاعب.