53#define APP_PROFILING_DESCRIPTOR \
54 {"profiling", app_profiling_subsys_init, app_profiling_subsys_cleanup}
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
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