Add more puffin profile zones
This commit is contained in:
parent
0316b7d2d1
commit
5198114a56
|
@ -30,6 +30,8 @@ pub fn build_renderer<T: RenderCallbacks>(
|
||||||
resources: &mut Resources,
|
resources: &mut Resources,
|
||||||
builder: &mut Builder,
|
builder: &mut Builder,
|
||||||
) {
|
) {
|
||||||
|
puffin::profile_function!();
|
||||||
|
|
||||||
let renderer = resources.get_mut::<Renderer>().unwrap();
|
let renderer = resources.get_mut::<Renderer>().unwrap();
|
||||||
let viewport_info = resources.get::<ViewportInfo>().unwrap();
|
let viewport_info = resources.get::<ViewportInfo>().unwrap();
|
||||||
let mesh_shaders = resources.get::<mesh::ShaderInfo>().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] mesh_pass: &mut pass::RenderPassBox<mesh::MeshPass>,
|
||||||
#[resource] debug_pass: &mut pass::RenderPassBox<debug::DebugPass>,
|
#[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 {
|
if viewports.len() > 1 {
|
||||||
eprintln!("Cyborg does not currently support more than one viewport at a time!");
|
eprintln!("Cyborg does not currently support more than one viewport at a time!");
|
||||||
return;
|
return;
|
||||||
|
@ -92,6 +100,8 @@ fn render<T: RenderCallbacks>(
|
||||||
|
|
||||||
#[system]
|
#[system]
|
||||||
fn present<T: RenderCallbacks>(#[resource] callbacks: &mut T) {
|
fn present<T: RenderCallbacks>(#[resource] callbacks: &mut T) {
|
||||||
|
puffin::profile_function!();
|
||||||
|
|
||||||
callbacks.present();
|
callbacks.present();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,6 +111,8 @@ fn draw_transformed_meshes(
|
||||||
transform: &scene::Transform,
|
transform: &scene::Transform,
|
||||||
mesh: &scene::Mesh,
|
mesh: &scene::Mesh,
|
||||||
) {
|
) {
|
||||||
|
puffin::profile_function!();
|
||||||
|
|
||||||
mesh_pass.add_transformed_meshes(&[mesh::TransformedMesh {
|
mesh_pass.add_transformed_meshes(&[mesh::TransformedMesh {
|
||||||
transform: transform.transform,
|
transform: transform.transform,
|
||||||
mesh: mesh.mesh,
|
mesh: mesh.mesh,
|
||||||
|
@ -113,6 +125,8 @@ fn draw_debug(
|
||||||
#[resource] debug_pass: &pass::RenderPassBox<debug::DebugPass>,
|
#[resource] debug_pass: &pass::RenderPassBox<debug::DebugPass>,
|
||||||
draw_list: &scene::DebugDrawList,
|
draw_list: &scene::DebugDrawList,
|
||||||
) {
|
) {
|
||||||
|
puffin::profile_function!();
|
||||||
|
|
||||||
debug_pass.add_draw_list(draw_list);
|
debug_pass.add_draw_list(draw_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,6 +136,8 @@ fn draw_debug_transformed(
|
||||||
world: &SubWorld,
|
world: &SubWorld,
|
||||||
query: &mut Query<(&scene::DebugDrawList, &scene::Transform)>,
|
query: &mut Query<(&scene::DebugDrawList, &scene::Transform)>,
|
||||||
) {
|
) {
|
||||||
|
puffin::profile_function!();
|
||||||
|
|
||||||
query.par_iter_chunks(world).for_each(|draw_list_chunk| {
|
query.par_iter_chunks(world).for_each(|draw_list_chunk| {
|
||||||
let mut sub_list = scene::DebugDrawList::default();
|
let mut sub_list = scene::DebugDrawList::default();
|
||||||
for (draw_list, transform) in draw_list_chunk {
|
for (draw_list, transform) in draw_list_chunk {
|
||||||
|
|
|
@ -179,6 +179,8 @@ impl Renderer {
|
||||||
target: &dyn Viewport,
|
target: &dyn Viewport,
|
||||||
camera: &Camera,
|
camera: &Camera,
|
||||||
) {
|
) {
|
||||||
|
puffin::profile_function!();
|
||||||
|
|
||||||
self.frame_index += 1;
|
self.frame_index += 1;
|
||||||
if self.frame_index >= self.frame_datas.len() {
|
if self.frame_index >= self.frame_datas.len() {
|
||||||
self.frame_index = 0;
|
self.frame_index = 0;
|
||||||
|
|
Loading…
Reference in New Issue