Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
Loading...
Searching...
No Matches
app_profiling.h
Go to the documentation of this file.
1#ifndef APP_PROFILING_H
2#define APP_PROFILING_H
3
13#include "fps.h" // IWYU pragma: export
14#include "gpu_profiler.h" // IWYU pragma: export
15#include "gpu_profiler_ui.h" // IWYU pragma: export
16#include "gpu_usage.h" // IWYU pragma: export
17#include "perf_mode.h" // IWYU pragma: export
18#include "tracy_manager.h" // IWYU pragma: export
19#include <stdbool.h>
20
35
42void app_profiling_init(AppProfiling* prof, int width, int height);
43
49
50#include "app_subsystem.h"
51int app_profiling_subsys_init(struct App* app);
52void app_profiling_subsys_cleanup(struct App* app);
53#define APP_PROFILING_DESCRIPTOR \
54 {"profiling", app_profiling_subsys_init, app_profiling_subsys_cleanup}
55
56#endif /* APP_PROFILING_H */
void app_profiling_init(AppProfiling *prof, int width, int height)
Initialize all profiling sub-systems to default state.
Definition app_profiling.c:10
void app_profiling_subsys_cleanup(struct App *app)
Definition app_profiling.c:45
void app_profiling_cleanup(AppProfiling *prof)
Release all profiling resources in reverse init order.
Definition app_profiling.c:22
int app_profiling_subsys_init(struct App *app)
Definition app_profiling.c:32
Subsystem descriptor pattern for structured init/cleanup.
Runtime performance optimization module.
Profiling, metrics, and performance monitoring grouped together.
Definition app_profiling.h:25
TracyManager tracy_mgr
Definition app_profiling.h:29
GPUUsageMonitor gpu_usage
Definition app_profiling.h:30
FpsCounter fps_counter
Definition app_profiling.h:26
GPUProfilerUI timeline_ui
Definition app_profiling.h:28
bool log_gpu_metrics
Definition app_profiling.h:33
PerfModeContext perf_context
Definition app_profiling.h:31
bool perf_mode_active
Definition app_profiling.h:32
GPUProfiler gpu_profiler
Definition app_profiling.h:27
The central state container for the entire application.
Definition app.h:24
Definition fps.h:4
Manages the visual state and animations for the GPU timeline.
Definition gpu_profiler_ui.h:12
Manages GPU timing using double-buffered queries to avoid stalls.
Definition gpu_profiler.h:86
Reads GPU utilization % via Linux DRM fdinfo (same method as MangoHud).
Definition gpu_usage.h:25
State container for performance mode.
Definition perf_mode.h:53
Handles Tracy-specific instrumentation and asynchronous GPU screenshots.
Definition tracy_manager.h:19