tooling Folder
Files Index
| file | helios/engine/tooling/_module.ixx |
|
Aggregate module for helios::engine::tooling namespace. More... | |
| file | FpsMetrics.ixx |
|
Module defining the FpsMetrics class for frame rate analysis and monitoring. More... | |
| file | FramePacer.ixx |
|
Module defining the FramePacer class for frame rate control and timing synchronization. More... | |
| file | FrameStats.ixx |
|
Module defining the FrameStats structure for frame timing information. More... | |
Description
helios::engine::tooling
Utilities for runtime diagnostics and developer tooling such as FPS and frame timing metrics.
Key Classes
| Class | Purpose |
|---|---|
| FramePacer | Controls frame rate through timing and pacing (vsync-independent) |
| FpsMetrics | Aggregates frame timing data over a rolling window for analysis |
| FrameStats | POD struct containing per-frame timing (work, wait, total) |
Usage
auto stopwatch = std::make_unique<helios::util::time::Stopwatch>();
helios::engine::tooling::FramePacer pacer(std::move(stopwatch));
pacer.setTargetFps(60.0f);
helios::engine::tooling::FpsMetrics metrics;
metrics.setHistorySize(120);
while (running) {
pacer.beginFrame();
// ... game logic and rendering ...
auto stats = pacer.sync();
metrics.addFrame(stats);
float fps = metrics.getFps();
float avgFrameTime = metrics.getFrameTimeMs();
}
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.