From 72e7358636dec21d8ba33cdb99f23bd7430766c5 Mon Sep 17 00:00:00 2001 From: Elabajaba Date: Sun, 3 Jul 2022 20:17:27 +0000 Subject: [PATCH] Disable Vsync for stress tests. (#5187) # Objective Currently stress tests are vsynced. This is undesirable for a stress test, as you want to run them with uncapped framerates. ## Solution Ensure all stress tests are using PresentMode::Immediate if they render anything. --- examples/stress_tests/many_cubes.rs | 5 +++++ examples/stress_tests/many_foxes.rs | 2 ++ examples/stress_tests/many_lights.rs | 3 ++- examples/stress_tests/many_sprites.rs | 5 +++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/examples/stress_tests/many_cubes.rs b/examples/stress_tests/many_cubes.rs index 7a18c02559..2e06788313 100644 --- a/examples/stress_tests/many_cubes.rs +++ b/examples/stress_tests/many_cubes.rs @@ -14,10 +14,15 @@ use bevy::{ diagnostic::{FrameTimeDiagnosticsPlugin, LogDiagnosticsPlugin}, math::{DVec2, DVec3}, prelude::*, + window::PresentMode, }; fn main() { App::new() + .insert_resource(WindowDescriptor { + present_mode: PresentMode::Immediate, + ..default() + }) .add_plugins(DefaultPlugins) .add_plugin(FrameTimeDiagnosticsPlugin::default()) .add_plugin(LogDiagnosticsPlugin::default()) diff --git a/examples/stress_tests/many_foxes.rs b/examples/stress_tests/many_foxes.rs index 3888e2c3c4..83a3ff3204 100644 --- a/examples/stress_tests/many_foxes.rs +++ b/examples/stress_tests/many_foxes.rs @@ -4,6 +4,7 @@ use bevy::{ diagnostic::{FrameTimeDiagnosticsPlugin, LogDiagnosticsPlugin}, prelude::*, + window::PresentMode, }; struct Foxes { @@ -16,6 +17,7 @@ fn main() { App::new() .insert_resource(WindowDescriptor { title: "🦊🦊🦊 Many Foxes! 🦊🦊🦊".to_string(), + present_mode: PresentMode::Immediate, ..default() }) .add_plugins(DefaultPlugins) diff --git a/examples/stress_tests/many_lights.rs b/examples/stress_tests/many_lights.rs index f215081eb8..39d735ea29 100644 --- a/examples/stress_tests/many_lights.rs +++ b/examples/stress_tests/many_lights.rs @@ -7,6 +7,7 @@ use bevy::{ pbr::{ExtractedPointLight, GlobalLightMeta}, prelude::*, render::{camera::ScalingMode, RenderApp, RenderStage}, + window::PresentMode, }; use rand::{thread_rng, Rng}; @@ -16,7 +17,7 @@ fn main() { width: 1024.0, height: 768.0, title: "many_lights".to_string(), - present_mode: bevy::window::PresentMode::Immediate, + present_mode: PresentMode::Immediate, ..default() }) .add_plugins(DefaultPlugins) diff --git a/examples/stress_tests/many_sprites.rs b/examples/stress_tests/many_sprites.rs index cfc69d12cc..b475a2e1cf 100644 --- a/examples/stress_tests/many_sprites.rs +++ b/examples/stress_tests/many_sprites.rs @@ -9,6 +9,7 @@ use bevy::{ math::Quat, prelude::*, render::camera::Camera, + window::PresentMode, }; use rand::Rng; @@ -17,6 +18,10 @@ const CAMERA_SPEED: f32 = 1000.0; fn main() { App::new() + .insert_resource(WindowDescriptor { + present_mode: PresentMode::Immediate, + ..default() + }) // Since this is also used as a benchmark, we want it to display performance data. .add_plugin(LogDiagnosticsPlugin::default()) .add_plugin(FrameTimeDiagnosticsPlugin::default())