Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hierarchical mode for stats view #127

Open
tgolsson opened this issue Feb 3, 2023 · 0 comments
Open

Hierarchical mode for stats view #127

tgolsson opened this issue Feb 3, 2023 · 0 comments
Labels
enhancement New feature or request GUI Related to the imgui/egui frontents

Comments

@tgolsson
Copy link
Member

tgolsson commented Feb 3, 2023

Is your feature request related to a problem? Please describe.

When optimizing, one of my favourite approaches is the parent% metric. This isn't too hard to compute, but right now the viewer doesn't present the data in an accessible way. What I want is a tree where the root nodes are the top level scopes, and each layer only has the statistics for the node when called from that parent.

Describe the solution you'd like

A view something like this:

scope                          self      parent%     total%
└── app-update                 13ms      100%        100%
    ├── input                  1ms       7%          7%
    │   ├── keyboard           300us     30%         2.1%
    │   └── mouse              100us     10%         0.7%
    ├── ai                     4ms       30%         30%
    │   ├── raycasts           1ms       25%         7.5%
    │   └── navigation         2.5ms     62.5%       20%
    └── player                 2ms       15%         15%
        └── weapon             0.5ms     25%         3.25%
            ├── raycasts       0.2ms     40%         1.3%
            └── hitmarker      0.2ms     40%         1.3%

I don't think the view necessarily has to present % - I think being able to correlate parent/child relationship of scopes is the important part.

Describe alternatives you've considered

This can be somewhat manually created by carefully finding the immediate children in the flamegraph, and then filtering the stats view. If there was a way to highlight or filter descendants that'd make it somewhat easier with the current tool. However, since some scopes might have multiple parents (e.g. raycasts above) it doesn't quite get there.

Additional context

This is an example of how it's presented in Firefox Performance view:
image

@tgolsson tgolsson added enhancement New feature or request GUI Related to the imgui/egui frontents labels Feb 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request GUI Related to the imgui/egui frontents
Projects
None yet
Development

No branches or pull requests

1 participant