framerate_vsync/
framerate_vsync.rs

1use comfy::*;
2
3simple_game!(
4    "Framerate & VSync config options",
5    GameState,
6    config,
7    setup,
8    update
9);
10
11fn config(config: GameConfig) -> GameConfig {
12    GameConfig { vsync_enabled: false, target_framerate: 500, ..config }
13}
14
15pub struct GameState {}
16
17impl GameState {
18    pub fn new(_c: &EngineState) -> Self {
19        Self {}
20    }
21}
22
23
24fn setup(_state: &mut GameState, _c: &mut EngineContext) {
25    game_config_mut().dev.show_fps = true;
26}
27
28fn update(_state: &mut GameState, _c: &mut EngineContext) {
29    draw_circle(vec2(0.0, 0.0), 0.5, RED, 0);
30
31    let config = game_config();
32
33    draw_text(
34        &format!(
35            "VSync: {} ... Target FPS: {} ... Real FPS: {}",
36            config.vsync_enabled,
37            config.target_framerate,
38            get_fps()
39        ),
40        vec2(0.0, -2.0),
41        WHITE,
42        TextAlign::Center,
43    );
44}