Skip to content

Conversation

Gonkalbell
Copy link
Contributor

Here's a first pass at a way to display the GpuTimerQueryResult in puffin. This only depends on the base puffin crate, not puffin_egui or puffin_http. I added puffin_http as a dev dependency to the example since it's not as invasive of a change as using egui.

This current approach assumes you use a different puffin::GlobalProfiler for wgpu than for CPU threads. I'm not the biggest fan of this approach, and I'd prefer to pretend that the WGPU Queue is just like any other CPU thread, and show them all in the same profiler window. However, the fact that we may need to wait several frames for timer results from the GPU makes this difficult.

@Wumpf Wumpf self-requested a review September 12, 2024 07:16
@Wumpf
Copy link
Owner

Wumpf commented Sep 18, 2024

sorry for the delay in review. Hoping to give this a spin by the end of the week!

Copy link
Owner

@Wumpf Wumpf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good start, I think this is already plenty useful. Even if we figure out how to combine this into a single puffin connection, this mode of operation can still be quite useful imho!

Some docs are missing and I believe the frame processing should be slightly different. Details see comments

@Gonkalbell Gonkalbell requested a review from Wumpf October 6, 2024 02:53
@Wumpf Wumpf self-assigned this Jan 19, 2025
Copy link
Owner

@Wumpf Wumpf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

apologies for the loooong delay and thanks for addressing all the comments, looking great now!

I added a changelog entry and a lil bit docs as well as some ci fixes (hopefully this comes back green now 🤞 )

@Wumpf Wumpf merged commit 0974584 into Wumpf:main Jan 19, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants