Add more puffin profile zones

This commit is contained in:
mars 2022-06-28 20:50:45 -06:00
parent 0316b7d2d1
commit 5198114a56
2 changed files with 19 additions and 1 deletions

View File

@ -30,6 +30,8 @@ pub fn build_renderer<T: RenderCallbacks>(
resources: &mut Resources,
builder: &mut Builder,
) {
puffin::profile_function!();
let renderer = resources.get_mut::<Renderer>().unwrap();
let viewport_info = resources.get::<ViewportInfo>().unwrap();
let mesh_shaders = resources.get::<mesh::ShaderInfo>().unwrap();
@ -78,7 +80,13 @@ fn render<T: RenderCallbacks>(
#[resource] mesh_pass: &mut pass::RenderPassBox<mesh::MeshPass>,
#[resource] debug_pass: &mut pass::RenderPassBox<debug::DebugPass>,
) {
let viewports = callbacks.get_viewports();
puffin::profile_function!();
let viewports = {
puffin::profile_scope!("RenderCallbacks::get_viewports()");
callbacks.get_viewports()
};
if viewports.len() > 1 {
eprintln!("Cyborg does not currently support more than one viewport at a time!");
return;
@ -92,6 +100,8 @@ fn render<T: RenderCallbacks>(
#[system]
fn present<T: RenderCallbacks>(#[resource] callbacks: &mut T) {
puffin::profile_function!();
callbacks.present();
}
@ -101,6 +111,8 @@ fn draw_transformed_meshes(
transform: &scene::Transform,
mesh: &scene::Mesh,
) {
puffin::profile_function!();
mesh_pass.add_transformed_meshes(&[mesh::TransformedMesh {
transform: transform.transform,
mesh: mesh.mesh,
@ -113,6 +125,8 @@ fn draw_debug(
#[resource] debug_pass: &pass::RenderPassBox<debug::DebugPass>,
draw_list: &scene::DebugDrawList,
) {
puffin::profile_function!();
debug_pass.add_draw_list(draw_list);
}
@ -122,6 +136,8 @@ fn draw_debug_transformed(
world: &SubWorld,
query: &mut Query<(&scene::DebugDrawList, &scene::Transform)>,
) {
puffin::profile_function!();
query.par_iter_chunks(world).for_each(|draw_list_chunk| {
let mut sub_list = scene::DebugDrawList::default();
for (draw_list, transform) in draw_list_chunk {

View File

@ -179,6 +179,8 @@ impl Renderer {
target: &dyn Viewport,
camera: &Camera,
) {
puffin::profile_function!();
self.frame_index += 1;
if self.frame_index >= self.frame_datas.len() {
self.frame_index = 0;