Improvement Performance optimization

This commit is contained in:
Bruno Herbelin
2024-02-25 21:58:44 +01:00
parent b022be49a1
commit fae5d09001
4 changed files with 18 additions and 12 deletions

View File

@@ -79,6 +79,7 @@ if(UNIX)
else()
add_definitions(-DLINUX)
# add_definitions(-DUSE_GST_OPENGL_SYNC_HANDLER)
# add_definitions(-DUSE_GL_BUFFER_SUBDATA)
# CPACK
set(CPACK_SYSTEM_NAME "${CMAKE_HOST_SYSTEM_NAME}")

View File

@@ -250,17 +250,21 @@ void Mixer::update()
}
}
// update views
mixing_.update(dt_);
geometry_.update(dt_);
layer_.update(dt_);
appearance_.update(dt_);
transition_.update(dt_);
displays_.update(dt_);
// update all views for deep update
if (View::need_deep_update_ > 0) {
mixing_.update(dt_);
geometry_.update(dt_);
layer_.update(dt_);
appearance_.update(dt_);
transition_.update(dt_);
displays_.update(dt_);
// deep update was performed
if (View::need_deep_update_ > 0)
// deep update was performed
--View::need_deep_update_;
}
// update only current view otherwise
else
current_view_->update(dt_);
}
void Mixer::draw()

View File

@@ -450,11 +450,12 @@ void SetDepth::update(Source *s, float dt)
if ( progress > duration_ ) {
// apply depth to target
s->group(View::LAYER)->translation_.z = target_;
// ensure reordering of view
++View::need_deep_update_;
// done
status_ = FINISHED;
}
// ensure reordering of sources in view
++View::need_deep_update_;
}
}

View File

@@ -1133,7 +1133,7 @@ void UserInterface::showMenuWindows()
ImGui::Separator();
// Enter / exit Fullscreen
if (Rendering::manager().mainWindow().isFullscreen()){
if (Settings::application.windows[0].fullscreen){
if (ImGui::MenuItem( ICON_FA_COMPRESS_ALT " Exit Fullscreen", SHORTCUT_FULLSCREEN ))
Rendering::manager().mainWindow().toggleFullscreen();
}