Screen debug graph types

Types of debug graphs

Synopsis:

#include <screen/screen.h>
enum {
    SCREEN_DEBUG_GRAPH_FPS = (1 << 0),
    SCREEN_DEBUG_GRAPH_POSTS = (1 << 1),
    SCREEN_DEBUG_GRAPH_BLITS = (1 << 2),
    SCREEN_DEBUG_GRAPH_UPDATES = (1 << 3),
    SCREEN_DEBUG_GRAPH_CPU_TIME = (1 << 4),
    SCREEN_DEBUG_GRAPH_GPU_TIME = (1 << 5),
    SCREEN_DEBUG_STATISTICS = (1 << 7)
};

Data:

SCREEN_DEBUG_GRAPH_FPS
Frames per second; the number of posts over time.
SCREEN_DEBUG_GRAPH_POSTS
Pixel count of pixels in dirty rectangles over time.
SCREEN_DEBUG_GRAPH_BLITS
Pixel count of pixels that were in blit requests over time.
SCREEN_DEBUG_GRAPH_UPDATES
Pixel count of pixels used by Screen in the window to update the framebuffer over time.
SCREEN_DEBUG_GRAPH_CPU_TIME
The time spent on the CPU drawing each frame.
SCREEN_DEBUG_GRAPH_GPU_TIME
The time spent on the GPU drawing each frame.
SCREEN_DEBUG_STATISTICS
Certain statistics of a window.
The statistics are updated once per second and therefore represent a one second average. The following statistics are displayed:
  • cpu usage, cpu time, gpu time
  • private mappings, free memory
  • window fps, display fps
  • events
  • objects
  • draws
  • triangles
  • vertices

Library:

libscreen

Description:

All masks except SCREEN_DEBUG_STATISTICS are intended to be combined in a single integer bitmask. The bitmask represents combinations of desired debug graphs to be displayed. Only one window can enable debug graphs at a time; the last window to have enabled debug will have its values displayed in the graph. All data but the FPS is normalized to buffer size and refresh rate of display.