التدخلات في "وضع الألعاب"

التدخلات في وضع الألعاب هي التحسينات المتعلّقة بالألعاب التي وضعها المصنّعون الأصليون للأجهزة (OEM) لتحسين أداء الألعاب التي لم يعد يتم تحديثها بواسطة المطورين. مثلاً:

  • جارٍ استخدام تغيير حجم المخزن المؤقت الخلفي في WindowManager.
  • استخدام محرّك ANGLE بدلاً من برامج تشغيل GLES الأصلية

يمكنك الحصول على الدعم في لعبتك وإدارة واجهة برمجة تطبيقات وضع الألعاب، لاستبدالها مداخلات "وضع الألعاب" من قِبل المصنّع الأصلي للجهاز

تتوفّر واجهة برمجة التطبيقات وضع الألعاب والتدخلات على:

  • أجهزة محدَّدة تعمل بنظام Android 12
  • الأجهزة التي تعمل بنظام Android 13 أو الإصدارات الأحدث

يمكن لكل لعبة:

  • تنفيذ سلوك واجهة برمجة التطبيقات لوضع الألعاب
  • اقتراح إعدادات إدخال تعديلات "وضع الألعاب" على المصنّعين الأصليين للأجهزة
  • إيقاف التدخلات في "وضع الألعاب" بشكل صريح

خلفية

يوضّح هذا القسم الإجراءات التي يتم اتّخاذها بشأن "وضع الألعاب" وكيفية تحسين أدائها لعبتك لكل وضع.

تغيير حجم المخزن المؤقت في WindowManager

تغيير حجم المخزن المؤقت الخلفي في WindowManager التدخل إلى تقليل حِمل وحدة معالجة الرسومات للجهاز. يمكنه أيضًا تقليل استهلاك البطارية عند ضبط وتيرة اللعبة على عدد اللقطات المستهدَف في الثانية

يمكن أن يؤدي تفعيل تغيير الحجم إلى تقليل وحدة معالجة الرسومات بنسبة تصل إلى 30% و 10% من القيمة الإجمالية. استخدام النظام للطاقة. يمكن أن تختلف النتائج استنادًا إلى الجهاز المستخدم والظروف البيئية وغيرها من العوامل، مثل قيد المعالجة.

من المحتمل أن تسجِّل الألعاب التي لا تعتمد على سرعة أكبر ومرتبطة بوحدة معالجة الرسومات عدد لقطات أعلى في الثانية. أثناء انخفاض أحمال وحدة معالجة الرسومات

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

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

إنّ تقييد عدد اللقطات في الثانية على نظام التشغيل Android هو تدخل في "وضع الألعاب" يساعد الألعاب في التشغيل يكون عدد اللقطات في الثانية أكثر ثباتًا لتقليل استهلاك البطارية. التدخل هو متوفّرة في Android 13 أو الإصدارات الأحدث. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة نظرة عامة على تقييد عدد اللقطات في الثانية.

تقييم التدخلات في "وضع الألعاب"

تستخدِم هذه الأقسام الأمر adb.

إعداد الأوضاع

يجب إيقاف "أوضاع الألعاب" في ملف إعداد "وضع الألعاب" قبل اختبار تدخلات "وضع الألعاب". وبخلاف ذلك، ستتجاوز المنصة واحترام التحسينات داخل اللعبة فقط.

<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:supportsBatteryGameMode="false"
    android:supportsPerformanceGameMode="false"
/>

(اختياري) الاحتفاظ بنسخة احتياطية من إعدادات الجهاز الحالية

بالنسبة إلى هواتف Pixel أو أجهزة أخرى، قد يكون هناك تدخّل في الألعاب تم إنشاؤه مسبقًا. في إعدادات جهازك. يمكنك الاستعلام عن الإعدادات باستخدام الأمر:

adb shell device_config get game_overlay <PACKAGE_NAME>

في حال عرض طلب البحث null، تجاهل الإعدادات الموجودة مسبقًا. بخلاف ذلك، احفظه وإعادة الضبط عليه بعد التقييم.

تقييم التدخلات

لتقييم تدخُّل تغيير حجم المخزن المؤقت في WindowManager من تلقاء نفسه، استخدم الأمر التالي لضبط قيم مختلفة لتغيير حجم المخزن المؤقت في WindowManager عبر أوضاع الألعاب.

adb shell device_config put game_overlay <PACKAGE_NAME>
mode=2,downscaleFactor=0.9:mode=3,downscaleFactor=0.5

في المثال أعلاه، السمة mode=2 هي "الأداء" وmode=3. هي ميزة "توفير شحن البطارية". ويتم تحديد قيمة downscaleFactor كنسبة مئوية تنطبق على إعداد تغيير الحجم (على سبيل المثال، 0.7 هي 70% و0.8 تساوي 80%). 90% (0.9) تغيير الحجم ضئيل تقريبًا، في حين أن 50٪ (0.5) مهمة.

تحذير: قد لا يتم تغيير حجم العمليات الثانوية بشكل صحيح في Android 12. ضِمن تأكد من عرض الإشعارات المحمصة والنوافذ المنبثقة بشكل صحيح. أر ننصحكم بتقليل إعدادات تغيير الحجم إلى %70 على الأقل

بعد الانتهاء من ضبط الإعدادات الجديدة لتغيير الحجم، يمكنك التبديل بين أوضاع اللعب لمعرفة كيف تتأثر لعبتك بتدخل تغيير حجم المخزن المؤقت للذاكرة في WindowManager:

adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>

يجب إعادة تشغيل اللعبة بعد اختيار كل وضع من أوضاع اللعب. تشير رسالة الأشكال البيانية يتطلب تدخل مصغر إعادة تشغيل التطبيق.

إيقاف التدخلات

يمكنك التحكّم في ما إذا كان سيتم تطبيق تدخل على لعبتك عن طريق إيقاف هذه الميزة ولكل تدخّل إعداد إيقاف خاص به.

  1. ملف XML الخاص بالإعداد نفسه الذي يُستخدَم للتحكّم في ميزة "التفعيل" ضمن "اللعبة" وإيقافها يتم استخدام الأوضاع أيضًا لإعدادات التدخل:
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:allowGameDownscaling="false"
    android:allowGameFpsOverride="false"
/>
  1. أعِد إنشاء لعبتك وأعِد إرسالها لإيقاف الميزة.

بشكل تلقائي، يتم تحديد التدخلات من قِبل الشركات المصنّعة للأجهزة الأصلية ما لم يتم صراحةً إيقاف استخدام لعبتك في اللعبة.

المراجع

لمزيد من المعلومات حول قياس أداء الألعاب وتحسينه: