bsc-performance-tools / wxparaver

wxParaver is a trace-based visualization and analysis tool designed to study quantitative detailed metrics and obtain qualitative knowledge of the performance of applications, libraries, processors and whole architectures.
http://tools.bsc.es/paraver
GNU Lesser General Public License v2.1
26 stars 3 forks source link

Bad usability of the "Info panel" timeline window feature in certain scenarios #3

Open joanbm opened 5 years ago

joanbm commented 5 years ago

Affected version: wxParaver 3.8.1

Steps to reproduce:

Actual behavior Nothing seems to happen, the information in the info panel is not visible.

Expected behavior The information associated to the 'Info panel' should become visible, even if partially.

Detail / Explanation When viewing a trace in a timeline window, either double clicking the timeline window, or right-clicking the timeline & selecting the "Info panel" option, is supposed to open a section on the bottom on the timeline window, displaying various details (e.g. color legend, duration, etc.).

Currently, the way this is done is by growing the window height to make extra space in the bottom part, in order to avoid resizing the timeline. However, there are various scenarios where the window can't grow vertically, such as:

In any of those scenarios, the "Info panel" option appears to do nothing. Actually, the splitter subtly appears at the very bottom of the window and can be dragged to actually see the info panel, but from a user point of view, unless one knows of this issue, the application appears to have done nothing or to have bugged.

Bonus: Additionally, on Windows 10, after the info panel is visible when the window is maximized, if one then hides the info panel, this results in a window having the 'Maximized' state/icons, but only partially covering the screen. If one minimizes this window and then restores it, the window is squashed to just a few pixels. This may actually be more of a Windows issue/weirdness actually.

Proposed fix Making the window height bigger to display the info panel appears to be intended behaviour. However, the mentioned cases where the window size can't change should be detected and handled separately. In those cases, opening the info panel should not attempt to make the window height bigger, but rather keep the same size and redistribute the window space between the timeline and the info panel.

joanbm commented 5 years ago

For now I'm using a patch over the 4.8.1 sources, to display the info panel as a tool window (wxMiniFrame) instead of the split timeline/infopanel design - note that it's not a perfect solution nor implementation and has its own set of problems, but it works better for me.

info-panel-as-wxminiframe.patch.tar.gz

EDIT 20190705 - A slightly better version: info-panel-as-wxminiframe-v2.patch.tar.gz

EDIT 20220325 - Patch rebased over v4.10.0 + added git patch headers (as in git format-patch) for trackability when embedded in other repositories: 0001-Make-Info-panel-timeline-window-usable-in-more-cases.patch.zip