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

@ -172,6 +172,9 @@ where
R: Renderer + ImportAll,
<R as Renderer>::TextureId: 'static,
{
#[cfg(feature = "debug")]
puffin::profile_function!();
if get_role(&surface) != Some("dnd_icon") {
warn!(
?surface,
@ -215,6 +218,8 @@ where
R: Renderer + ImportMem + ImportAll,
<R as Renderer>::TextureId: Clone + 'static,
{
#[cfg(feature = "debug")]
puffin::profile_function!();
// draw the cursor as relevant
// reset the cursor if the surface is no longer alive
let cursor_status = seat

View file

@ -168,6 +168,9 @@ where
CosmicMappedRenderElement<R>: RenderElement<R>,
E: From<CursorRenderElement<R>> + From<CosmicMappedRenderElement<R>>,
{
#[cfg(feature = "debug")]
puffin::profile_function!();
let scale = output.current_scale().fractional_scale();
let mut elements = Vec::new();
@ -293,6 +296,9 @@ where
CosmicMappedRenderElement<R>: RenderElement<R>,
Source: Clone,
{
#[cfg(feature = "debug")]
puffin::profile_function!();
if let Some(ref mut fps) = fps {
fps.start();
#[cfg(feature = "debug")]
@ -448,6 +454,8 @@ where
std::ptr::null(),
);
}
puffin::GlobalProfiler::lock().new_frame();
}
res