إعدادات OpenGLRenderer

يوضّح هذا المستند كيفية ضبط الأداء لتحسين أداء الأجهزة.

خصائص OpenGLRenderer (libhwui)

يوضّح هذا المستند خصائص التحكّم في مسار العرض ثنائي الأبعاد المُعزَّز بالأجهزة في Android. يمكنك ضبط هذه الخصائص في الملف device.mk على شكل PRODUCT_PROPERTY_OVERRIDES.

خصائص جميع إصدارات Android

الخاصية النوع القيمة التلقائية الوصف
ro.zygote.disable_gl_preload boolean false تفعيل أو إيقاف التحميل المسبق لبرامج تشغيل EGL/GL في Zygote في وقت التشغيل عندما تكون هذه الخاصية false، يحمِّل Zygote برامج تشغيل GL مسبقًا من خلال استدعاء eglGetDisplay(EGL_DEFAULT_DISPLAY). يؤدي ذلك إلى تحميل رمز المكتبة الديناميكية في Zygote لمشاركته مع جميع العمليات الأخرى. إذا كان برنامج التشغيل لا يتيح المشاركة، اضبط هذه الخاصية على true.

خصائص Android 8.0 والإصدارات الأقدم

الخاصية النوع القيمة التلقائية الوصف
ro.hwui.disable_scissor_opt boolean false

تفعيل أو إيقاف تحسين المقص القيم المقبولة هي true و false. عند تفعيل تحسين المقص، يحاول OpenGLRenderer تقليل عملية القص من خلال تفعيل اختبار المقص في GL وإيقافه بشكل انتقائي.

عند إيقاف هذه الميزة، يحافظ OpenGLRenderer على تفعيل اختبار المقص في GL ويغيّر مستطيل المقص حسب الحاجة. تعمل بعض وحدات معالجة الرسومات (مثل SGX 540) بشكل أفضل عند تغيير مستطيل المقص بشكل متكرر أكثر من تفعيل اختبار المقص أو إيقافه بشكل متكرر.

ro.hwui.texture_cache_size float 24 تحديد حجم ذاكرة التخزين المؤقت للصور لكل عملية، بالميغابايت ننصحك باستخدام ذاكرة تخزين مؤقت كبيرة بما يكفي لتخزين عدة شاشات من الصور ذات 32-بت. على سبيل المثال، على شاشة عرض بدقة 1280×800، تستخدم ذاكرة التخزين المؤقت بملء الشاشة حوالي 4 ميغابايت، لذا يجب أن يكون حجم ذاكرة التخزين المؤقت 20 ميغابايت على الأقل.
ro.hwui.layer_cache_size float 16 تحديد حجم ذاكرة التخزين المؤقت للطبقات لكل عملية، بالميغابايت ننصحك باستخدام ذاكرة تخزين مؤقت كبيرة بما يكفي لتخزين أربع مرات حجم الشاشة بدقة 32 بت. على سبيل المثال، على شاشة عرض بدقة 1280×800، تستخدم ذاكرة التخزين المؤقت بملء الشاشة حوالي 4 ميغابايت، لذا يجب أن يكون حجم ذاكرة التخزين المؤقت 16 ميغابايت على الأقل.
ro.hwui.gradient_cache_size float 0.5 تحديد حجم ذاكرة التخزين المؤقت للتدرجات لكل عملية، بالميغابايت يشغل التدرج الواحد بشكل عام ما بين 1 كيلوبايت و4 كيلوبايت من الذاكرة. ننصحك باستخدام ذاكرة تخزين مؤقت كبيرة بما يكفي لتخزين 12 تدرجًا على الأقل.
ro.hwui.patch_cache_size integer 128 تحديد حجم ذاكرة التخزين المؤقت للرقع التسع لكل عملية، بالكيلوبايت لا تخزّن ذاكرة التخزين المؤقت هذه سوى بيانات الرأس، لذا يمكنك إبقاؤها صغيرة. يتألف كل رأس من 4 أرقام عائمة، أو 16 بايت.
ro.hwui.path_cache_size float 4 تحديد حجم ذاكرة التخزين المؤقت للمسارات لكل عملية، بالميغابايت ننصحك باستخدام ذاكرة تخزين مؤقت كبيرة بما يكفي لتخزين شاشة واحدة على الأقل من الصور ذات 32 بت. على سبيل المثال، على شاشة عرض بدقة 1280×800، تستخدم ذاكرة التخزين المؤقت بملء الشاشة حوالي 4 ميغابايت، لذا يجب أن يكون حجم ذاكرة التخزين المؤقت 4 ميغابايت على الأقل.
ro.hwui.shape_cache_size float 1 تحديد حجم ذاكرة التخزين المؤقت للأشكال لكل عملية، بالميغابايت تُستخدم هذه القيمة في عدة ذاكرات تخزين مؤقت، مثل الدوائر والمستطيلات المستديرة. ننصحك باستخدام ذاكرة تخزين مؤقت كبيرة بما يكفي لتخزين شاشة واحدة على الأقل بدقة 8 بت. على سبيل المثال، على شاشة عرض بدقة 1280×800، تستخدم ذاكرة التخزين المؤقت بملء الشاشة حوالي 1 ميغابايت، لذا يجب أن يكون حجم ذاكرة التخزين المؤقت 1 ميغابايت على الأقل.
ro.hwui.drop_shadow_cache_size float 2 تحديد حجم ذاكرة التخزين المؤقت للظلال المنسدلة للنص لكل عملية، بالميغابايت ننصحك باستخدام ذاكرة تخزين مؤقت كبيرة بما يكفي لتخزين شاشتَين من الصور ذات 8 بت على سبيل المثال، على شاشة عرض بدقة 1280×800، تستخدم ذاكرة التخزين المؤقت بملء الشاشة حوالي 1 ميغابايت، لذا يجب أن يكون حجم ذاكرة التخزين المؤقت 2 ميغابايت على الأقل.
ro.hwui.r_buffer_cache_size float 2 تحديد حجم ذاكرة التخزين المؤقت لمخازن العرض لكل عملية، بالميغابايت ننصحك باستخدام ذاكرة تخزين مؤقت كبيرة بما يكفي لتخزين ضعف حجم الشاشة بدقة 8 بت. على سبيل المثال، على شاشة عرض بدقة 1280×800، تستخدم ذاكرة التخزين المؤقت بملء الشاشة حوالي 1 ميغابايت، لذا يجب أن يكون حجم ذاكرة التخزين المؤقت 2 ميغابايت على الأقل. يمكن أن تكون ذاكرة التخزين المؤقت أصغر إذا كان الجهاز يتيح مخازن الاستنسل بدقة 4 بت أو 1 بت.
ro.hwui.texture_cache_flush_rate float 0.6 تحديد النسبة المئوية من ذاكرة التخزين المؤقت للصور التي سيتم الاحتفاظ بها بعد محو الذاكرة يُفعِّل النظام عمليات محو الذاكرة عندما يحتاج إلى استعادة الذاكرة في جميع التطبيقات. ننصحك بإصدار حوالي% 50 من ذاكرة التخزين المؤقت في مثل هذه الحالات.
ro.hwui.text_small_cache_width integer 1024 تحديد عرض ذاكرة التخزين المؤقت التلقائية للخطوط، بالبكسل يعتمد الحدّ الأعلى على سرعة تحميل وحدة معالجة الرسومات للصور. ننصحك باستخدام 1024 بكسل على الأقل و2048 بكسل على الأكثر. استخدِم أيضًا قيمة من مضاعفات الرقم 2.
ro.hwui.text_small_cache_height integer 256 تحديد ارتفاع ذاكرة التخزين المؤقت التلقائية للخطوط، بالبكسل يعتمد الحدّ الأعلى على سرعة تحميل وحدة معالجة الرسومات للصور. ننصحك باستخدام 256 بكسل على الأقل و1024 بكسل على الأكثر.
ro.hwui.text_large_cache_width integer 2048 تحديد عرض ذاكرة التخزين المؤقت للخطوط الكبيرة، بالبكسل تُستخدم ذاكرة التخزين المؤقت هذه للرسوم التي تكون كبيرة جدًا بحيث لا يمكن وضعها في ذاكرة التخزين المؤقت التلقائية للخطوط. يعتمد الحدّ الأعلى على سرعة تحميل وحدة معالجة الرسومات للصور. ننصحك باستخدام 2048 بكسل على الأقل و4096 بكسل على الأكثر. استخدِم أيضًا قيمة من مضاعفات الرقم 2.
ro.hwui.text_large_cache_height integer 512 تحديد ارتفاع ذاكرة التخزين المؤقت للخطوط الكبيرة، بالبكسل تُستخدم ذاكرة التخزين المؤقت للخطوط الكبيرة للرسوم التي تكون كبيرة جدًا بحيث لا يمكن وضعها في ذاكرة التخزين المؤقت التلقائية للخطوط. يعتمد الحدّ الأعلى على سرعة تحميل وحدة معالجة الرسومات للصور. ننصحك باستخدام 512 بكسل على الأقل و2048 بكسل على الأكثر. استخدِم أيضًا قيمة من مضاعفات الرقم 2.
hwui.text_gamma_correction string lookup اختيار أسلوب تصحيح غاما للنص هناك أربعة خيارات محتملة:
  • lookup3: تصحيح يستند إلى جداول البحث يختلف تصحيح غاما للنص الأبيض والأسود (راجِع الحدود على النحو التالي).
  • lookup: تصحيح يستند إلى جدول بحث واحد
  • shader3: تصحيح يتم تطبيقه من خلال أداة تظليل GLSL يختلف تصحيح غاما للنص الأبيض والأسود (راجِع الحدود على النحو التالي).
  • shader: تصحيح يتم تطبيقه من خلال أداة تظليل GLSL
تعمل تصحيحات غاما المستندة إلى البحث بشكل أفضل على وحدات معالجة الرسومات التي تتضمّن عمليات رياضية محدودة لبرامج التظليل. تكون تصحيحات غاما المستندة إلى برامج التظليل هي الأفضل لتوفير الذاكرة. ننصحك باستخدام أسلوب `lookup` التلقائي الذي يقدّم حلًا جيدًا من حيث الجودة والسرعة واستخدام الذاكرة.lookup
hwui.text_gamma float 1.4 تحديد قيمة غاما المستخدَمة لتصحيح غاما للنص يمكنك تعديل هذه القيمة استنادًا إلى شاشة عرض الجهاز.
hwui.text_gamma.black_threshold integer 64 تحديد حدّ الإضاءة الذي يتم تطبيق تصحيح غاما الأسود تحته يجب أن تكون القيمة في النطاق 0-255.
hwui.text_gamma.white_threshold integer 192 تحديد حدّ الإضاءة الذي يتم تطبيق تصحيح غاما الأبيض فوقه يجب أن تكون القيمة في النطاق 0-255.
hwui.use_gpu_pixel_buffers boolean true تفعيل أو إيقاف استخدام مخازن البكسل في وحدة معالجة الرسومات على أجهزة OpenGL ES 3.0 يستخدم برنامج العرض مخازن البكسل في وحدة معالجة الرسومات لإجراء عمليات تحميل غير متزامنة للصور، خاصةً لذاكرة التخزين المؤقت للخطوط. يجب أن تظل هذه الخاصية مفعّلة دائمًا، ولكن يمكنك إيقاف تشغيلها أثناء عملية التشغيل أو التطوير إذا كانت مخازن البكسل في وحدة معالجة الرسومات تتسبب في حدوث تلف أو ضعف في الأداء. لهذا السبب، لا تكون الخاصية للقراءة فقط.