debug: Add actual profiling for rendeirng

This commit is contained in:
Victoria Brekenfeld 2023-03-06 18:50:11 +01:00
parent 26743d6bdc
commit 1c62d6d061
10 changed files with 184 additions and 1 deletions

View file

@ -257,6 +257,9 @@ impl FloatingLayout {
}
pub fn refresh(&mut self) {
#[cfg(feature = "debug")]
puffin::profile_function!();
self.space.refresh();
for element in self
.space
@ -352,6 +355,9 @@ impl FloatingLayout {
<R as Renderer>::TextureId: 'static,
CosmicMappedRenderElement<R>: RenderElement<R>,
{
#[cfg(feature = "debug")]
puffin::profile_function!();
let output_scale = output.current_scale().fractional_scale();
self.space
.elements_for_output(output)

View file

@ -896,6 +896,9 @@ impl TilingLayout {
}
pub fn refresh<'a>(&mut self) {
#[cfg(feature = "debug")]
puffin::profile_function!();
let dead_windows = self
.mapped()
.map(|(_, w, _)| w.clone())
@ -1107,6 +1110,9 @@ impl TilingLayout {
}
fn update_space_positions(trees: &mut HashMap<OutputData, Tree<Data>>, gaps: (i32, i32)) {
#[cfg(feature = "debug")]
puffin::profile_function!();
let (outer, inner) = gaps;
for (output, tree) in trees
.iter_mut()
@ -1306,6 +1312,9 @@ impl TilingLayout {
<R as Renderer>::TextureId: 'static,
CosmicMappedRenderElement<R>: RenderElement<R>,
{
#[cfg(feature = "debug")]
puffin::profile_function!();
let output_scale = output.current_scale().fractional_scale();
if !self.trees.contains_key(output) {

View file

@ -1008,6 +1008,9 @@ impl Shell {
}
pub fn refresh(&mut self) {
#[cfg(feature = "debug")]
puffin::profile_function!();
self.popups.cleanup();
match &mut self.workspaces {

View file

@ -77,6 +77,9 @@ impl Workspace {
}
pub fn refresh(&mut self) {
#[cfg(feature = "debug")]
puffin::profile_function!();
self.fullscreen.retain(|_, w| w.alive());
self.floating_layer.refresh();
self.tiling_layer.refresh();
@ -443,6 +446,9 @@ impl Workspace {
<R as Renderer>::TextureId: 'static,
CosmicMappedRenderElement<R>: RenderElement<R>,
{
#[cfg(feature = "debug")]
puffin::profile_function!();
let mut render_elements = Vec::new();
let output_scale = output.current_scale().fractional_scale();