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

dots-v2: fix jitteriness, again #388

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

howardjohn
Copy link
Contributor

This had some previous fixes:

These do not fully fix the problem, only mask the issues.

The real issues arise when there are 100s of packages to display, but only so much screen space. As each one bounces around, the text is entirely unreadable. The previous approaches was to more effieciently update the lines to make it more incremental.

The approach here is different - simple but extremely effective. Instead of trying to constantly write out the entire set of lines/packages under test, on each event, we keep track of a active and completed set of packages.

Once a package is completed, we write it out one last time, and then never overwrite it. The active set is treated as we do today.

This means if we have 8 core machine and 1000 packages, we are only updating 8 lines at a time, which removes all jitteriness.

The current PR totally breaks windows. If there is desire to move forward I can try to get it working on windows, but I don't have a windows machine so its a struggle for me

This had some previous fixes:
* gotestyourself#368
* gotestyourself#354

These do not fully fix the problem, only mask the issues.

The real issues arise when there are 100s of packages to display, but
only so much screen space. As each one bounces around, the text is
entirely unreadable. The previous approaches was to more effieciently
update the lines to make it more incremental.

The approach here is different - simple but extremely effective. Instead
of trying to constantly write out the entire set of lines/packages under
test, on each event, we keep track of a active and completed set of
packages.

Once a package is completed, we write it out one last time, and then
never overwrite it. The active set is treated as we do today.

This means if we have 8 core machine and 1000 packages, we are only
updating 8 lines at a time, which removes all jitteriness.
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

Successfully merging this pull request may close these issues.

1 participant