-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Conhost window is not refreshed after software scroll #15932
Labels
Area-Output
Related to output processing (inserting text into buffer, retrieving buffer text, etc.)
In-PR
This issue has a related PR
Issue-Bug
It either shouldn't be doing this or needs an investigation.
Needs-Tag-Fix
Doesn't match tag requirements
Product-Conhost
For issues in the Console codebase
Milestone
Comments
alabuzhev
added
Issue-Bug
It either shouldn't be doing this or needs an investigation.
Needs-Triage
It's a new issue that the core contributor team needs to triage at the next triage meeting
labels
Sep 5, 2023
alabuzhev
changed the title
Conhost window not in refreshed after software scroll
Conhost window is not refreshed after software scroll
Sep 5, 2023
|
zadjii-msft
added
Product-Conhost
For issues in the Console codebase
Area-Output
Related to output processing (inserting text into buffer, retrieving buffer text, etc.)
labels
Sep 6, 2023
carlos-zamora
removed
Product-Conhost
For issues in the Console codebase
Area-Output
Related to output processing (inserting text into buffer, retrieving buffer text, etc.)
Needs-Triage
It's a new issue that the core contributor team needs to triage at the next triage meeting
labels
Sep 6, 2023
zadjii-msft
added
the
Needs-Triage
It's a new issue that the core contributor team needs to triage at the next triage meeting
label
Sep 6, 2023
zadjii-msft
added
Product-Conhost
For issues in the Console codebase
Area-Output
Related to output processing (inserting text into buffer, retrieving buffer text, etc.)
and removed
Needs-Triage
It's a new issue that the core contributor team needs to triage at the next triage meeting
labels
Sep 6, 2023
This regression was caused by 81b7e54. Reverting it has no or negligible impact on performance at this point, likely due to the overall vastly better performance of conhost nowadays. |
microsoft-github-policy-service
bot
added
the
Needs-Tag-Fix
Doesn't match tag requirements
label
Nov 27, 2023
github-actions bot
pushed a commit
to johnterickson/terminal
that referenced
this issue
Nov 27, 2023
81b7e54 caused a regression in `SetConsoleWindowInfo` and any other function that used the `WriteToScreen` helper. This is because it assumes that it can place the viewport anywhere randomly and it was written at a time where `TriggerScroll` didn't exist yet (there was no need for that (also not today, but that's being worked on)). Caching the viewport meant that `WriteToScreen`'s call to `TriggerRedraw` would pick up the viewport from the last rendered frame, which would cause the intersection of both to be potentially empty and nothing to be drawn on the screen. This commit reverts 81b7e54 as I found that it has no or negligible impact on performance at this point, likely due to the overall vastly better performance of conhost nowadays. Closes microsoft#15932 ## Validation Steps Performed * Scroll the viewport by entire pages worth of content using `SetConsoleWindowInfo` - see microsoft#15932 * The screen and scrollbars update immediately ✅
DHowett
pushed a commit
that referenced
this issue
Dec 4, 2023
81b7e54 caused a regression in `SetConsoleWindowInfo` and any other function that used the `WriteToScreen` helper. This is because it assumes that it can place the viewport anywhere randomly and it was written at a time where `TriggerScroll` didn't exist yet (there was no need for that (also not today, but that's being worked on)). Caching the viewport meant that `WriteToScreen`'s call to `TriggerRedraw` would pick up the viewport from the last rendered frame, which would cause the intersection of both to be potentially empty and nothing to be drawn on the screen. This commit reverts 81b7e54 as I found that it has no or negligible impact on performance at this point, likely due to the overall vastly better performance of conhost nowadays. Closes #15932 ## Validation Steps Performed * Scroll the viewport by entire pages worth of content using `SetConsoleWindowInfo` - see #15932 * The screen and scrollbars update immediately ✅ (cherry picked from commit 7a1b6f9) Service-Card-Id: 91152167 Service-Version: 1.19
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Area-Output
Related to output processing (inserting text into buffer, retrieving buffer text, etc.)
In-PR
This issue has a related PR
Issue-Bug
It either shouldn't be doing this or needs an investigation.
Needs-Tag-Fix
Doesn't match tag requirements
Product-Conhost
For issues in the Console codebase
Windows Terminal version
1.18.1462.0
Windows build number
10.0.19045.3324
Other Software
No response
Steps to reproduce
Expected Behavior
The viewport moves up or down, line by line or page by page.
Actual Behavior
Pressing Up or Down works as expected.
Pressing PgUp or PgDown doesn't.
When PgUp/PgDown are pressed, the scrollbar on the right moves appropriately, indicating that the viewport has moved, but the window is not refreshed and shows the very same content.
The issue occurs only if the number of lines to scroll is >= window height.
The original issue is described here:
FarGroup/FarManager#727
According to the comments, the default conhost in Windows 11 is also affected to some extent.
The text was updated successfully, but these errors were encountered: