This change adds a new field to the ProcessStartInfo struct in UBA trace files for a description of the task, called "breadcrumbs" which allow to diagnose and backtrace the origin of a UBA task.
This is also hooked up to the distributed shader compilation (added as new field in FTaskCommandData) and a descriptive string is generated for each shader compile job batch.
UbaVisualizer is updated accordingly to integrate this new data when hovering over a task in the timeline.
This feature can be enabled via the new CVar "r.ShaderCompiler.DistributedJobDescriptionLevel" with values 0 (Disabled), 1 (Basic information), 2 (Adds shader format to each job). It's disabled by default.
#rb dan.elksnitis, henrik.karlsson
#rnx
[CL 36346831 by laura hermanns in 5.5 branch]
* Fixed so zoom is based on box height which is integer values. Now it is possible to zoom down to only 1 pixel high process bars
[CL 35435854 by henrik karlsson in ue5-main branch]
* Improved ubavisualizer output
* Fixed visualizer crash
* Fixed support for dpi scaling through remote desktop
* Fixed so visualizer never ends up outside screen(s) boundaries
*
[CL 35349640 by henrik karlsson in ue5-main branch]
* Improved ui for ubavisualizer for active processes
* Added windows message for when window is activated
[CL 35167202 by henrik karlsson in ue5-main branch]
* Fixed bug where pid and id got lost when UbaVisualizer was copied and started from different location
* Added so pid and id can be picked up by environment variables UBA_OWNER_ID and UBA_OWNER_PID
[CL 34955074 by henrik karlsson in ue5-main branch]
* Added a bunch of new options to UbaVisualizer. Check out context menu and checkboxes
* Added more solid code for checking if parent exists or not.. should prevent leaving dead UbaVisualizer.exe processes around
* Changed exit code error message to use hex for exit code
[CL 34950241 by henrik karlsson in ue5-main branch]
* Changed so ubavisualizer copy itself to temp and relaunch from there by default. Can be disabled with "-nocopy"
* Added support for creating ubavisualizer with a parent. Provide -parent=<hwnd-in-hex> when launching UbaVisualizer to make it a child
[CL 34942082 by henrik karlsson in ue5-main branch]
* Fixed bug where error message box can pop up multiple times
* Fixed so font size scales with processes when zooming
[CL 34886500 by henrik karlsson in ue5-main branch]
* Added -config=<file> support to UbaVisualizer
* Added "GetOwnerInfo" which can be used to get id and pid for owner.. right now devenv.exe is the only tracked owner but can add support for more applications
* Fixed so both trace name and default config name is affected by owner info.. this means a UbaVisualizer launched from inside visual studio will use a different config file
* Fixed bugs related to replays of active trace in visualizer
[CL 34852915 by henrik karlsson in ue5-main branch]
* Added "active processes" view in visualizer. Easier to get an overview
* Changed so session stats is written into trace file as soon as possible
* Added support for some more types in config file add/write
* Added dedicated path for updateProgress into session in order to minimize trace file and have custom rendering for progress
* Added support for changing font size in visualizer
* Added option to enable autosaving settings in visualizer
* Fixed so it is possible to jump around in active named trace in UbaVisualizer
* Added hyperlink support ro status update so user can click on the text to follow the link
[CL 34827240 by henrik karlsson in ue5-main branch]
* Added config file support to UbaVisualizer, first iteration. If clicking "Save Position/Settings" in context menu config will be saved in %PROGRAMDATA%\Epic\UbaVisualizer\UbaVisualizer.toml
[CL 34795034 by henrik karlsson in ue5-main branch]
* Changed so code getting processor frequency uses registry instead of CallNtPowerInformation since we want a number that is the same every time and CallNtPowerInformation + MaxMhz does not do that
[CL 34789007 by henrik karlsson in ue5-main branch]