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

Overlapping frames on different channels cause BubbleText display issue #29

Open
nburek opened this issue Apr 1, 2022 · 1 comment
Open

Comments

@nburek
Copy link

nburek commented Apr 1, 2022

I am attempting to generate multiple types of Frames and have them display on two different channels as bubble text. When doing this I am having issues with the bubble text not appearing consistently.

The start/stop samples for the first type of Frame span the entire transaction on the first channel and the second type of Frame will have multiple occurrences with start/stop sample numbers falling between the start/stop of the first Frame type. In my GenerateBubbleText function I then selectively add a result string only if it is the correct frame type for the correct channel (see function below).

void ExecutionTimeAnalyzerResults::GenerateBubbleText( U64 frame_index, Channel& channel, DisplayBase display_base )
{
    ClearResultStrings();
    Frame frame = GetFrame( frame_index );

    if (channel == mSettings->mInputTimerChannel && 0 == frame.mType) {
        char number_str[128];
        AnalyzerHelpers::GetNumberString( frame.mData1, display_base, 32, number_str, 128 );
        AddResultString(number_str);
    } else if (channel == mSettings->mInputSubTimerChannel && 1 == frame.mType) {
        char number_str[128];
        AnalyzerHelpers::GetNumberString( frame.mData1, display_base, 32, number_str, 128 );
        AddResultString(number_str);
    }

}

I get inconsistent display results as a zoom in and out, where there bubble text on the second channel pop in and out and seem to add an additional invisible frame to the group when it combines them. As far as I can tell, even though I didn't add a result string for the first frame type on the second channel it is still trying to render it sometimes and this causes issues with the overlapping second frame type.

I am using Logic-2.3.47-master.AppImage on Ubuntu 20.04.

@nburek
Copy link
Author

nburek commented Apr 1, 2022

Interestingly if I added the first frame type (0) after all my second frame types (1) for the transaction it seems to handle it better. There is still some interesting bubble text grouping choices that are inconsistent frame sample to sample with when it decides to group, but they at least all show and I don't get phantom frames added to groupings, at least in my limited testing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant