baldurk / renderdoc

RenderDoc is a stand-alone graphics debugging tool.
https://renderdoc.org
MIT License
8.88k stars 1.33k forks source link

Added history buttons for EventBrowser. #3334

Closed ldecarufel closed 4 months ago

ldecarufel commented 4 months ago

New History feature for the EventBrowser

Often when using RenderDoc, you get lost in the list of Events when following pixel history or when searching for an event. The History records the last events visited in the EventBrowser and makes it easy to go back to previously visited events.

I added two menu buttons, next to the "step backwards" and "step forward" buttons: qrenderdoc_ZeWnikgtpy

Clicking the menu arrow on those buttons shows the list of visited events, and clicking on an item jumps to that event: qrenderdoc_EY825CcaTj

Once you go back in history, the "History Next" button can be used to go forward in the history.

There are two new keyboard shortcuts;

baldurk commented 4 months ago

I've thought about this and I don't think I want to merge this feature. I can understand the utility but I don't think it's significant enough beyond the existing functionality of marker regions, bookmarks, etc to justify the extra UI space and maintenance. I've had people ask for a history in the resource inspector which makes sense to me but I've seen people only rarely use bookmarks and I've not had anyone mention this as an issue before. Part of the challenge with a project like this is understanding which features are too niche.

I think this would be best kept as a local change - if you don't want to maintain a permanent fork this could also be implemented as a python UI extension.

ldecarufel commented 4 months ago

This is sad, because this is the one feature I've always wanted in RenderDoc. When analyzing big frames, I always end up following pixel history to understand where a value comes from, and by doing so I go to other events and always have trouble going back to the pass I was on at first. History solves that issue. It's like a web browser's back button but for events in the browser.

I guess I'll have to use bookmarks instead, which is a feature I do use a lot!