Skip to content

Record render diagnostics for all engine passes #16742

@JMS55

Description

@JMS55

https://dev-docs.bevyengine.org/bevy_render/diagnostic/struct.RenderDiagnosticsPlugin.html

Ideally we nest the diagnostics so that each view has it's own diagnostic subpath, although we'll have to figure out how shadow passes fit into that, as well as non-view-specific nodes like MeshPreprocessing.

Also would be nice to further group by category, e.g. prepass/gbuffer, mainpass, post processing, etc.

Total path would look like /render/view_<NameOrEntityId>/main3d/opaque/gpu_time, using the Name component of the view if it's available, else the entity ID.

  • Bloom
  • MainOpaquePass2d
  • MainTransparentPass2d
  • MainOpaquePass3d
  • MainTransparentPass3d
  • Prepass
  • ShadowPass
  • AutoExposure
  • RCAS
  • MainTransmissivePass3d
  • DeferredGBufferPrepass (+CopyDeferredLightingId?)
  • DeferredOpaquePass3dPbrLighting
  • DepthOfField
  • FXAA
  • MotionBlur
  • OITResolve
  • PostProcessing stack
  • SMAA
  • TAA
  • MSAAWriteback
  • Upscale
  • Meshlet
    • MeshletVisibilityBufferRasterPass (+subpass timings)
    • MeshletMainOpaquePass3d, MeshletPrepass, MeshletDeferredGBufferPrepass
  • SSAO
  • SSR
  • VolumetricFog
  • GpuPreprocess
  • UI
  • Tonemapping
  • CameraDriver(?)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-DiagnosticsLogging, crash handling, error reporting and performance analysisA-RenderingDrawing game state to the screenD-TrivialNice and easy! A great choice to get started with BevyS-Waiting-on-AuthorThe author needs to make changes or address concerns before this can be merged

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions