12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #ifndef PERF_H
- #define PERF_H
- #include "nanovg.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- enum GraphrenderStyle {
- GRAPH_RENDER_FPS,
- GRAPH_RENDER_MS,
- GRAPH_RENDER_PERCENT,
- };
- #define GRAPH_HISTORY_COUNT 100
- struct PerfGraph {
- int style;
- char name[32];
- float values[GRAPH_HISTORY_COUNT];
- int head;
- };
- typedef struct PerfGraph PerfGraph;
- void initGraph(PerfGraph* fps, int style, const char* name);
- void updateGraph(PerfGraph* fps, float frameTime);
- void renderGraph(NVGcontext* vg, float x, float y, PerfGraph* fps);
- float getGraphAverage(PerfGraph* fps);
- #define GPU_QUERY_COUNT 5
- struct GPUtimer {
- int supported;
- int cur, ret;
- unsigned int queries[GPU_QUERY_COUNT];
- };
- typedef struct GPUtimer GPUtimer;
- void initGPUTimer(GPUtimer* timer);
- void startGPUTimer(GPUtimer* timer);
- int stopGPUTimer(GPUtimer* timer, float* times, int maxTimes);
- #ifdef __cplusplus
- }
- #endif
- #endif // PERF_H
|