ConfigStore HAL برای پشتیبانی از پارتیشن های فروشنده قدیمی در AOSP باقی می ماند. در دستگاههای دارای Android 10+، surfaceflinger
ابتدا ویژگیهای سیستم را میخواند. اگر هیچ ویژگی سیستمی برای یک آیتم پیکربندی در SurfaceFlingerProperties.sysprop
تعریف نشده باشد، surfaceflinger
به ConfigStore HAL برمی گردد.
پرچم ها و ویژگی های سیستم را بسازید
همانطور که در جدول زیر نشان داده شده است، هر پرچم ساخت در ConfigStore دارای یک ویژگی سیستم منطبق است. برای جزئیات بیشتر در مورد این ویژگی ها، به frameworks/native/services/surfaceflinger/sysprop/SurfaceFlingerProperties.sysprop
مراجعه کنید.
پرچم بسازید | ویژگی های سیستم |
---|---|
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS | ro.surface_flinger.force_hwc_copy_for_virtual_displays |
TARGET_HAS_HDR_DISPLAY | ro.surface_flinger.has_HDR_display |
TARGET_HAS_WIDE_COLOR_DISPLAY | ro.surface_flinger.has_wide_color_display |
NUM_FRAMEBUFFER_SURFACE_BUFFERS | ro.surface_flinger.max_frame_buffer_acquired_buffers |
MAX_VIRTUAL_DISPLAY_DIMENSION | ro.surface_flinger.max_virtual_display_dimension |
PRIMARY_DISPLAY_ORIENTATION | ro.surface_flinger.primary_display_orientation |
PRESENT_TIME_OFFSET_FROM_VSYNC_NS | ro.surface_flinger.present_time_offset_from_vsync_ns |
TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK | ro.surface_flinger.running_without_sync_framework |
SF_START_GRAPHICS_ALLOCATOR_SERVICE | ro.surface_flinger.start_graphics_allocator_service |
TARGET_USE_CONTEXT_PRIORITY | ro.surface_flinger.use_context_priority |
USE_VR_FLINGER | ro.surface_flinger.use_vr_flinger |
VSYNC_EVENT_PHASE_OFFSET_NS | ro.surface_flinger.vsync_event_phase_offset_ns |
SF_VSYNC_EVENT_PHASE_OFFSET_NS | ro.surface_flinger.vsync_sf_event_phase_offset_ns |
استفاده از SurfaceFlingerProperties
مثالهای زیر نحوه استفاده از کتابخانه SurfaceFlingerProperties و ویژگی Surface Flinger ro.surface_flinger.vsync_event_phase_offset_ns
را نشان میدهند.
برای پرس و جو برای مقدار ویژگی در مرجع، از api_name
ویژگی به عنوان نام تابع استفاده کنید.
SurfaceFlingerProperties
به صورت زیر در فایل ساخت خود قرار دهید:
cc_binary { name: "cc_client", srcs: ["baz.cpp"], shared_libs: ["SurfaceFlingerProperties"], } java_library { name: "JavaClient", srcs: ["foo/bar.java"], libs: ["SurfaceFlingerProperties"], }
قطعه کد جاوا زیر از ویژگی سیستم ro.surface_flinger.vsync_event_phase_offset_ns
استفاده می کند:
import android.sysprop.SurfaceFlingerProperties; ... static void foo() { ... boolean temp = SurfaceFlingerProperties.vsync_event_phase_offset_ns().orElse(true); ... } ...
قطعه کد C++ زیر از ویژگی سیستم ro.surface_flinger.vsync_event_phase_offset_ns
استفاده می کند:
#include <SurfaceFlingerProperties.sysprop.h> using namespace android::sysprop; ... void bar() { ... bool temp = SurfaceFlingerProperties::vsync_event_phase_offset_ns(true); ... } ...
ConfigStore HAL برای پشتیبانی از پارتیشن های فروشنده قدیمی در AOSP باقی می ماند. در دستگاههای دارای Android 10+، surfaceflinger
ابتدا ویژگیهای سیستم را میخواند. اگر هیچ ویژگی سیستمی برای یک آیتم پیکربندی در SurfaceFlingerProperties.sysprop
تعریف نشده باشد، surfaceflinger
به ConfigStore HAL برمی گردد.
پرچم ها و ویژگی های سیستم را بسازید
همانطور که در جدول زیر نشان داده شده است، هر پرچم ساخت در ConfigStore دارای یک ویژگی سیستم منطبق است. برای جزئیات بیشتر در مورد این ویژگی ها، به frameworks/native/services/surfaceflinger/sysprop/SurfaceFlingerProperties.sysprop
مراجعه کنید.
پرچم بسازید | ویژگی های سیستم |
---|---|
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS | ro.surface_flinger.force_hwc_copy_for_virtual_displays |
TARGET_HAS_HDR_DISPLAY | ro.surface_flinger.has_HDR_display |
TARGET_HAS_WIDE_COLOR_DISPLAY | ro.surface_flinger.has_wide_color_display |
NUM_FRAMEBUFFER_SURFACE_BUFFERS | ro.surface_flinger.max_frame_buffer_acquired_buffers |
MAX_VIRTUAL_DISPLAY_DIMENSION | ro.surface_flinger.max_virtual_display_dimension |
PRIMARY_DISPLAY_ORIENTATION | ro.surface_flinger.primary_display_orientation |
PRESENT_TIME_OFFSET_FROM_VSYNC_NS | ro.surface_flinger.present_time_offset_from_vsync_ns |
TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK | ro.surface_flinger.running_without_sync_framework |
SF_START_GRAPHICS_ALLOCATOR_SERVICE | ro.surface_flinger.start_graphics_allocator_service |
TARGET_USE_CONTEXT_PRIORITY | ro.surface_flinger.use_context_priority |
USE_VR_FLINGER | ro.surface_flinger.use_vr_flinger |
VSYNC_EVENT_PHASE_OFFSET_NS | ro.surface_flinger.vsync_event_phase_offset_ns |
SF_VSYNC_EVENT_PHASE_OFFSET_NS | ro.surface_flinger.vsync_sf_event_phase_offset_ns |
استفاده از SurfaceFlingerProperties
مثالهای زیر نحوه استفاده از کتابخانه SurfaceFlingerProperties و ویژگی Surface Flinger ro.surface_flinger.vsync_event_phase_offset_ns
را نشان میدهند.
برای پرس و جو برای مقدار ویژگی در مرجع، از api_name
ویژگی به عنوان نام تابع استفاده کنید.
SurfaceFlingerProperties
به صورت زیر در فایل ساخت خود قرار دهید:
cc_binary { name: "cc_client", srcs: ["baz.cpp"], shared_libs: ["SurfaceFlingerProperties"], } java_library { name: "JavaClient", srcs: ["foo/bar.java"], libs: ["SurfaceFlingerProperties"], }
قطعه کد جاوا زیر از ویژگی سیستم ro.surface_flinger.vsync_event_phase_offset_ns
استفاده می کند:
import android.sysprop.SurfaceFlingerProperties; ... static void foo() { ... boolean temp = SurfaceFlingerProperties.vsync_event_phase_offset_ns().orElse(true); ... } ...
قطعه کد C++ زیر از ویژگی سیستم ro.surface_flinger.vsync_event_phase_offset_ns
استفاده می کند:
#include <SurfaceFlingerProperties.sysprop.h> using namespace android::sysprop; ... void bar() { ... bool temp = SurfaceFlingerProperties::vsync_event_phase_offset_ns(true); ... } ...
ConfigStore HAL برای پشتیبانی از پارتیشن های فروشنده قدیمی در AOSP باقی می ماند. در دستگاههای دارای Android 10+، surfaceflinger
ابتدا ویژگیهای سیستم را میخواند. اگر هیچ ویژگی سیستمی برای یک آیتم پیکربندی در SurfaceFlingerProperties.sysprop
تعریف نشده باشد، surfaceflinger
به ConfigStore HAL برمی گردد.
پرچم ها و ویژگی های سیستم را بسازید
همانطور که در جدول زیر نشان داده شده است، هر پرچم ساخت در ConfigStore دارای یک ویژگی سیستم منطبق است. برای جزئیات بیشتر در مورد این ویژگی ها، به frameworks/native/services/surfaceflinger/sysprop/SurfaceFlingerProperties.sysprop
مراجعه کنید.
پرچم بسازید | ویژگی های سیستم |
---|---|
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS | ro.surface_flinger.force_hwc_copy_for_virtual_displays |
TARGET_HAS_HDR_DISPLAY | ro.surface_flinger.has_HDR_display |
TARGET_HAS_WIDE_COLOR_DISPLAY | ro.surface_flinger.has_wide_color_display |
NUM_FRAMEBUFFER_SURFACE_BUFFERS | ro.surface_flinger.max_frame_buffer_acquired_buffers |
MAX_VIRTUAL_DISPLAY_DIMENSION | ro.surface_flinger.max_virtual_display_dimension |
PRIMARY_DISPLAY_ORIENTATION | ro.surface_flinger.primary_display_orientation |
PRESENT_TIME_OFFSET_FROM_VSYNC_NS | ro.surface_flinger.present_time_offset_from_vsync_ns |
TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK | ro.surface_flinger.running_without_sync_framework |
SF_START_GRAPHICS_ALLOCATOR_SERVICE | ro.surface_flinger.start_graphics_allocator_service |
TARGET_USE_CONTEXT_PRIORITY | ro.surface_flinger.use_context_priority |
USE_VR_FLINGER | ro.surface_flinger.use_vr_flinger |
VSYNC_EVENT_PHASE_OFFSET_NS | ro.surface_flinger.vsync_event_phase_offset_ns |
SF_VSYNC_EVENT_PHASE_OFFSET_NS | ro.surface_flinger.vsync_sf_event_phase_offset_ns |
استفاده از SurfaceFlingerProperties
مثالهای زیر نحوه استفاده از کتابخانه SurfaceFlingerProperties و ویژگی Surface Flinger ro.surface_flinger.vsync_event_phase_offset_ns
را نشان میدهند.
برای پرس و جو برای مقدار ویژگی در مرجع، از api_name
ویژگی به عنوان نام تابع استفاده کنید.
SurfaceFlingerProperties
به صورت زیر در فایل ساخت خود قرار دهید:
cc_binary { name: "cc_client", srcs: ["baz.cpp"], shared_libs: ["SurfaceFlingerProperties"], } java_library { name: "JavaClient", srcs: ["foo/bar.java"], libs: ["SurfaceFlingerProperties"], }
قطعه کد جاوا زیر از ویژگی سیستم ro.surface_flinger.vsync_event_phase_offset_ns
استفاده می کند:
import android.sysprop.SurfaceFlingerProperties; ... static void foo() { ... boolean temp = SurfaceFlingerProperties.vsync_event_phase_offset_ns().orElse(true); ... } ...
قطعه کد C++ زیر از ویژگی سیستم ro.surface_flinger.vsync_event_phase_offset_ns
استفاده می کند:
#include <SurfaceFlingerProperties.sysprop.h> using namespace android::sysprop; ... void bar() { ... bool temp = SurfaceFlingerProperties::vsync_event_phase_offset_ns(true); ... } ...