Types of metric counts for windows
#include <screen/screen.h>
enum { SCREEN_WINDOW_METRIC_OBJECT_COUNT = 0, SCREEN_WINDOW_METRIC_API_COUNT = 1, SCREEN_WINDOW_METRIC_DRAW_COUNT = 2, SCREEN_WINDOW_METRIC_TRIANGLE_COUNT = 3, SCREEN_WINDOW_METRIC_VERTEX_COUNT = 4, SCREEN_WINDOW_METRIC_IMAGE_DATA_BYTES = 5, SCREEN_WINDOW_METRIC_BUFFER_DATA_BYTES = 6, SCREEN_WINDOW_METRIC_EVENT_COUNT = 7, SCREEN_WINDOW_METRIC_BLIT_COUNT = 8, SCREEN_WINDOW_METRIC_BLIT_PIXELS = 9, SCREEN_WINDOW_METRIC_BLIT_READS = 10, SCREEN_WINDOW_METRIC_BLIT_WRITES = 11, SCREEN_WINDOW_METRIC_POST_COUNT = 12, SCREEN_WINDOW_METRIC_POST_PIXELS = 13, SCREEN_WINDOW_METRIC_UPDATE_COUNT = 14, SCREEN_WINDOW_METRIC_UPDATE_PIXELS = 15, SCREEN_WINDOW_METRIC_UPDATE_READS = 16, SCREEN_WINDOW_METRIC_UPDATE_WRITES = 17, SCREEN_WINDOW_METRIC_CPU_TIME = 18, SCREEN_WINDOW_METRIC_GPU_TIME = 19, SCREEN_WINDOW_METRIC_VISIBLE_TIME = 20, SCREEN_WINDOW_METRIC_FULLY_VISIBLE_TIME = 21 };
Note that if multiple processes, other than the one that owns the window, made OpenGL ES 1.X, 2.X, 3.X, OpenVG API calls to the window, these API calls aren't counted.
This metric isn't counted for OpenVG API calls.
This count is an estimate because two triangles are counted per line and two triangles are also counted per point. This metric isn't counted for OpenVG API calls.
This metric isn't counted for OpenVG API calls.
This metric isn't counted for OpenVG API calls.
This metric isn't counted for OpenVG API calls.
This metric doesn't include events for any child windows that the window may have.
The number of bytes read is an estimation calculated based on the number of pixels affected by the blit requests.
The number of bytes written is an estimate based on the number of pixels affected by the blit requests.
The window must be visible (its SCREEN_PROPERTY_VISIBLE is set) in order for this count to be incremented. If the window is static (i.e., the window property SCREEN_PROPERTY_STATIC is set), this count can still increment if there is another window or layer on top so that there is blending required for this window.
The number of bytes read is an estimate based on the number of pixels affected by the update.
The number of bytes written is an estimate based on the number of pixels affected by the update.
The quantity is estimated by measuring the time between the window timestamp property and the time when screen_post_window() is called. The SCREEN_PROPERTY_TIMESTAMP must be set on the window for this metric to be reliable.
The quantity is estimated by measuring the time between when eglSwapBuffers() is called and when the post is actually flushed out to the server. This metric is only reliable if the GPU does most of its rendering after eglSwapBuffers() is called.
The quantity is estimated by measuring the time spent between scene rebuilds where the window is at least partially visible. If the window is covered by another window with transparency, the counter is incremented.
The quantity is estimated by measuring the time spent between scene rebuilds where the window is completely visible. If the window is covered by another window with transparency, the counter won't be incremented even though the window may actually be visible.
The metrics are on a per-window basis, and the counts are reset after being queried. That is, the counts are reset to 0 after you call screen_get_window_property_llv() to retrieve SCREEN_PROPERTY_METRICS.