این سند تنظیم عملکرد را توصیف می کند که می توانید برای استفاده حداکثری از سخت افزار خود انجام دهید.
ویژگی های OpenGLRenderer (libhwui).
این سند تمام ویژگیهایی را که میتوانید برای کنترل خط لوله رندر سختافزاری دوبعدی اندروید استفاده کنید، فهرست میکند. این ویژگی ها را در device.mk
به عنوان PRODUCT_PROPERTY_OVERRIDES
تنظیم کنید.
ویژگی های همه نسخه های اندروید
ویژگی | تایپ کنید | مقدار پیش فرض | شرح |
---|---|---|---|
ro.zygote.disable_gl_preload | boolean | false | برای فعال/غیرفعال کردن بارگذاری پیشبار درایورهای EGL/GL در Zygote در زمان بوت استفاده میشود. وقتی این ویژگی روی false تنظیم شود، Zygote با فراخوانی eglGetDisplay (EGL_DEFAULT_DISPLAY) درایورهای GL را از قبل بارگذاری می کند. هدف این است که کد کتابخانه های پویا را در Zygote بارگذاری کنیم تا آن را با تمام فرآیندهای دیگر به اشتراک بگذاریم. اگر درایوری از اشتراکگذاری پشتیبانی نمیکند، این ویژگی را روی true تنظیم کنید. |
ویژگی های اندروید 8.0 و پایین تر
ویژگی | تایپ کنید | مقدار پیش فرض | شرح |
---|---|---|---|
ro.hwui.disable_scissor_opt | boolean | false | برای فعال یا غیرفعال کردن بهینه سازی قیچی استفاده می شود. مقادیر پذیرفته شده درست و نادرست هستند. هنگامی که بهینه سازی قیچی فعال است، OpenGLRenderer تلاش می کند تا با فعال کردن و غیرفعال کردن انتخابی تست قیچی GL، استفاده از قیچی را به حداقل برساند. هنگامی که بهینه سازی غیرفعال است، OpenGLRenderer تست قیچی GL را فعال نگه می دارد و در صورت نیاز قیچی را تغییر می دهد. برخی از پردازندههای گرافیکی (مثلا SGX 540) هنگام تغییر دادن قیچی رکت بهتر از فعال یا غیرفعال کردن آزمایش قیچی اغلب عمل میکنند. |
ro.hwui.texture_cache_size | float | 24 | اندازه کش بافت در هر فرآیند را بر حسب مگابایت تعریف می کند. توصیه میکنیم از یک کش به اندازه کافی بزرگ برای نگهداری چندین صفحه نمایش با بافتهای 32 بیتی استفاده کنید (به عنوان مثال، در یک صفحه نمایش 1280x800، یک بافر تمام صفحه از حدود 4 مگابایت استفاده میکند، بنابراین کش باید حداقل 20 مگابایت باشد.) |
ro.hwui.layer_cache_size | float | 16 | اندازه حافظه پنهان لایههای هر فرآیند را بر حسب مگابایت تعریف میکند. توصیه می کنیم از کش به اندازه کافی بزرگ استفاده کنید تا 4 برابر صفحه نمایش را در 32 بیت نگه دارد. به عنوان مثال، در یک صفحه نمایش 1280x800، یک بافر تمام صفحه از حدود 4 مگابایت استفاده می کند، بنابراین کش باید حداقل 16 مگابایت باشد. |
ro.hwui.gradient_cache_size | 0.5 | float | اندازه حافظه پنهان شیب هر فرآیند را بر حسب مگابایت تعریف می کند. یک گرادیان منفرد معمولا بین 1 تا 4 کیلوبایت حافظه را اشغال می کند. توصیه می شود از کش به اندازه کافی بزرگ استفاده کنید تا حداقل دوازده گرادیان را در خود جای دهد. |
ro.hwui.patch_cache_size | integer | 128 | اندازه حافظه نهان 9 وصله در هر فرآیند را بر حسب کیلوبایت تعریف می کند. این کش فقط داده های راس را نگه می دارد و بنابراین می توان آن را کوچک نگه داشت. هر رأس از 4 شناور یا 16 بایت ساخته شده است. |
ro.hwui.path_cache_size | float | 4 | اندازه حافظه پنهان مسیرهای هر فرآیند را به مگابایت تعریف می کند. ما توصیه می کنیم از یک کش به اندازه کافی بزرگ استفاده کنید تا حداقل یک صفحه نمایش از بافت های 32 بیتی را در خود جای دهد. به عنوان مثال، در یک صفحه نمایش 1280x800، یک بافر تمام صفحه از حدود 4 مگابایت استفاده می کند، بنابراین کش باید حداقل 4 مگابایت باشد. |
ro.hwui.shape_cache_size | float | 1 | اندازه حافظه پنهان هر فرآیند را بر حسب مگابایت تعریف می کند. این مقدار توسط چندین کش مانند دایره ها و مستطیل های گرد استفاده می شود. توصیه می کنیم از یک کش به اندازه کافی بزرگ استفاده کنید تا حداقل یک صفحه نمایش 8 بیتی را در خود جای دهد. به عنوان مثال، در یک صفحه نمایش 1280x800، یک بافر تمام صفحه از حدود 1 مگابایت استفاده می کند، بنابراین حافظه نهان باید حداقل 1 مگابایت باشد. |
ro.hwui.drop_shadow_cache_size | float | 2 | اندازه کش سایهها را بر حسب مگابایت تعیین میکند. توصیه می کنیم از یک کش به اندازه کافی بزرگ برای نگهداری دو صفحه نمایش با بافت های 8 بیتی استفاده کنید. به عنوان مثال، در یک صفحه نمایش 1280x800، یک بافر تمام صفحه از حدود 1 مگابایت استفاده می کند، بنابراین کش باید حداقل 2 مگابایت باشد. |
ro.hwui.r_buffer_cache_size | float | 2 | اندازه حافظه نهان بافر رندر در هر فرآیند را بر حسب مگابایت تعریف می کند. توصیه می شود از کش به اندازه کافی بزرگ برای نگه داشتن دو برابر صفحه در 8 بیت استفاده کنید. به عنوان مثال، در یک صفحه نمایش 1280x800، یک بافر تمام صفحه از حدود 1 مگابایت استفاده می کند، بنابراین کش باید حداقل 2 مگابایت باشد. اگر دستگاه از بافرهای استنسیل 4 بیتی یا 1 بیتی پشتیبانی کند، حافظه پنهان می تواند کوچکتر باشد. |
ro.hwui.texture_cache_flush_rate | float | 0.6 | درصدی از کش بافت را که باید پس از فلاش کردن حافظه حفظ شود، تعیین می کند. فلاش های حافظه زمانی فعال می شوند که سیستم نیاز به بازیابی حافظه در همه برنامه ها داشته باشد. توصیه می کنیم در چنین شرایطی حدود 50 درصد از حافظه پنهان را آزاد کنید. |
ro.hwui.text_small_cache_width | integer | 1024 | عرض حافظه پنهان فونت پیش فرض را بر حسب پیکسل تعریف می کند. کران بالا بستگی به این دارد که GPU با چه سرعتی می تواند بافت ها را آپلود کند. توصیه می کنیم حداقل از 1024 پیکسل و حداکثر 2048 پیکسل استفاده کنید. همچنین باید از توان دو مقدار استفاده کنید. |
ro.hwui.text_small_cache_height | integer | 256 | ارتفاع حافظه پنهان فونت پیش فرض را بر حسب پیکسل تعیین می کند. کران بالا بستگی به این دارد که GPU با چه سرعتی می تواند بافت ها را آپلود کند. توصیه می کنیم از حداقل 256 پیکسل اما حداکثر 1024 پیکسل استفاده کنید. |
ro.hwui.text_large_cache_width | integer | 2048 | عرض حافظه پنهان فونت بزرگ را بر حسب پیکسل تعریف می کند. این حافظه نهان برای حروفهای بسیار بزرگ برای قرار گرفتن در حافظه پنهان فونت پیشفرض استفاده میشود. کران بالا بستگی به این دارد که GPU با چه سرعتی می تواند بافت ها را آپلود کند. استفاده از حداقل 2048 پیکسل اما حداکثر 4096 پیکسل را توصیه می کنیم. همچنین باید از توان دو مقدار استفاده کنید. |
ro.hwui.text_large_cache_height | integer | 512 | ارتفاع حافظه پنهان فونت بزرگ را بر حسب پیکسل تعریف می کند. حافظه پنهان فونت بزرگ برای حروفهای حروف خیلی بزرگ برای قرار گرفتن در حافظه پنهان فونت پیشفرض استفاده میشود. کران بالا بستگی به این دارد که GPU با چه سرعتی می تواند بافت ها را آپلود کند. توصیه می کنیم حداقل از 512 پیکسل اما حداکثر 2048 پیکسل استفاده کنید. همچنین باید از توان دو مقدار استفاده کنید. |
hwui.text_gamma_correction | string | 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 | برای فعال یا غیرفعال کردن استفاده از PBO در سخت افزار OpenGL ES 3.0 استفاده می شود. PBO ها توسط رندر برای انجام آپلودهای بافت ناهمزمان، به ویژه برای حافظه پنهان فونت استفاده می شوند. این ویژگی باید همیشه فعال بماند، اما اگر استفاده از PBO باعث خرابی یا عملکرد وحشتناک شود، میتواند در حین ایجاد یا توسعه غیرفعال شود. به همین دلیل است که ملک فقط خواندنی نیست. |