el benchmark es fa ara amb una figura i no amb el mode de fisica

This commit is contained in:
2026-03-12 08:48:14 +01:00
parent f06123feff
commit 8e2e681b2c

View File

@@ -1667,17 +1667,22 @@ void Engine::runPerformanceBenchmark() {
const int BENCH_DURATION_MS = 600;
const int WARMUP_FRAMES = 5;
SimulationMode original_mode = current_mode_;
auto restore = [&]() {
SDL_SetRenderVSync(renderer_, vsync_enabled_ ? 1 : 0);
SDL_ShowWindow(window_);
scene_manager_->changeScenario(0, current_mode_);
current_mode_ = original_mode;
active_shape_.reset();
scene_manager_->changeScenario(0, original_mode);
last_frame_time_ = 0;
};
// Test escenario custom (independiente de max_auto_scenario_)
custom_auto_available_ = false;
if (custom_scenario_enabled_) {
scene_manager_->changeScenario(CUSTOM_SCENARIO_IDX, current_mode_);
scene_manager_->changeScenario(CUSTOM_SCENARIO_IDX, SimulationMode::SHAPE);
activateShapeInternal(ShapeType::SPHERE);
last_frame_time_ = 0;
for (int w = 0; w < WARMUP_FRAMES; ++w) {
calculateDeltaTime();
@@ -1700,7 +1705,8 @@ void Engine::runPerformanceBenchmark() {
// Probar de más pesado a más ligero
for (int idx = DEMO_AUTO_MAX_SCENARIO; idx >= DEMO_AUTO_MIN_SCENARIO; --idx) {
scene_manager_->changeScenario(idx, current_mode_);
scene_manager_->changeScenario(idx, SimulationMode::SHAPE);
activateShapeInternal(ShapeType::SPHERE);
// Warmup: estabilizar física y pipeline GPU
last_frame_time_ = 0;