bevyengine / bevyengine/bevy

FPS Capped at Refresh Rate even after changing present mode on mac

Open
#12,097 8 comments 2 reactions 0 assignees View on GitHub
A-Rendering C-Bug D-Modest S-Needs-Investigation
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

## Bevy version
0.13

## Relevant system information
I'm running MacOS Sonoma, on the latest update, and am using bevy 1.13

```ignore
`AdapterInfo { name: "Apple M2 Pro", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", back
end: Metal }`
```

## What you did

I just used a getting started template, and added a frame rate timer, and changed the window's present mode to `AutoNoVsync`

(my code):
```rust
fn main() {
App::new()
.add_plugins(DefaultPlugins.set(WindowPlugin {
primary_window: Some(Window {
present_mode: PresentMode::AutoNoVsync,
..default()
}),
..default()
}))
.add_plugins((LogDiagnosticsPlugin::default(), FrameTimeDiagnosticsPlugin))
.run();
}
```

## What went wrong

Clearly, the FPS shouldn't be capped to my monitor's refresh rate (in this case 60fps), but looking at the logs, the fps hovers around 60 fps. I severely doubt that my computer really can only run it at 60fps.

## Additional information

(Some logs from the frame rate diagnostics plugin)
```ignore
2024-02-24T18:27:31.596562Z INFO bevy diagnostic: fps : 60.277031 (avg 124.856867)
2024-02-24T18:27:31.596616Z INFO bevy diagnostic: frame_time : 16.684984ms (avg 15.759335ms)
2024-02-24T18:27:31.596626Z INFO bevy diagnostic: frame_count: 64.000000 (avg 32.000000)
2024-02-24T18:27:32.595877Z INFO bevy diagnostic: fps : 60.092821 (avg 86.122432)
2024-02-24T18:27:32.595960Z INFO bevy diagnostic: frame_time : 16.645327ms (avg 16.408663ms)
2024-02-24T18:27:32.595979Z INFO bevy diagnostic: frame_count: 124.000000 (avg 64.500000)
```

This seems to not affect everyone, as after asking around, some people on mac are able to run higher than vsync. Not really sure what's causing this.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.