-
Notifications
You must be signed in to change notification settings - Fork 30k
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
Large portions of the window not repainting on high DPI/resolution displays #45492
Comments
@BytewaveMLP does it reproduce when you run with |
@bpasero Yes. Both |
I feel like this has something to do with higher DPI displays. I've noticed that running Code in a smaller window seems to lessen if not eliminate the effect (but it also makes it much less usable). For reference, this is a 4k display with 1.7 DPI scaling in KDE. But, again, other Electron applications running at the same resolution are unaffected (Discord used to be, but that was months ago; perhaps it's some sort of regression?). My apologies for not mentioning this earlier. It hadn't really crossed my mind. |
I have the same issue, running ubuntu 16.04 with a 4k monitor with an AMD graphics card ( It seems to have worsened since the terminal splitting feature (which is so awesome to use on my windows laptop, but unusable on my ubuntu setup). The git diff spilt view has been causing flickering and blank rectangles for some time but I got by without using it. Now, however, the flickering is happening even when there's no screen splitting enabled. I've also tried running code with Similar to @BytewaveMLP, if I reduce the window size, the problem is alleviated somewhat, but that does defeat the purpose of my shiny 4k monitor! notice big white, grey and dark grey rectangles over the side panel and terminal windows in the example above. But it happens all over the screen, usually triggered by scrolling. Often there's flickering but it's when they don't go away and the code is obscured, that the app becomes unusable |
I've experienced the issue on Windows 10, laptop has a native WQHD 1440p screen, set to 150% scaling, but mostly only use a larger monitor at 100% scaling. I also get strange painting issues with terminals, and text sometimes disappears altogether until I type some commands, or the position of the current active line gets moved INTO the existing displayed console output. This was even before the split console feature. |
I am running into a similar problem. I saw there are a few tickets open on similar issues, notably I followed #25934 more closely. In my case, the problem started today, without any update, change of configurations or recent addition of extensions. I'm running version 1.21.1 on a MacBook with 15in Retina Display (2880 x 1800). It has worked flawlessly for over a year. What did notice is that people reporting the problem happening with 3-way screen split. Today I started using the terminal (not the editor) in a 3-way split and since then, it's been almost impossible to work around the issue. |
This might workaround the problem:
|
@Tyriar how do you set code to always launch with a command? |
@mix3d did it work? On Windows I think you could create a shortcut and modify it, or launch from a batch script (note it's only the first window that needs to be launched like this). |
Yup, it seems like I suppose a simple bash script could be used to work around these limitations, though. Something as simple as: #/bin/bash
code "$@" --ignore-gpu-blacklist could make a simple enough workaround. |
Sounds like a good opportunity to open that value as an editor config? Or is that too far into the app loading process? |
It could at least be a prelaunch thing. On Arch, the Google Chrome package "binary" actually Chrome from a shell script that reads a file |
@BytewaveMLP great, we have a root cause! This is happening because Chromium maintains a list of GPUs to disable as they have issues, unfortunately in VS Code this manifests itself as corrupted textures inside the canvas for some reason. I'm curious if the same thing happens when you run Google Chrome?
@mix3d I think it's too far, we don't touch the settings file until the Electron main process is launched. |
@Tyriar It's hard to say. Chrome doesn't have any flickering issues when the |
@BytewaveMLP oh it should only show up when you're using a canvas though. To test this out you could run the xterm.js demo inside Chrome (which is what the terminal is built on) as that's a canvas that's doing a lot of painting. Try tweaking the rows/cols in the textbox below and running some commands. https://github.com/xtermjs/xterm.js#linux-or-macos |
Er... whoops. I guess I missed the canvas part initially. Sorry about that. However, even with the GPU blacklist enabled and something that should cause a lot of repainting ( |
@Tyriar I can also confirm that Also, chrome has been doing some similar flickering for me since I upgraded my monitors and graphics card. Not all the time but if I use some graphically intense web apps - eg. today I was building a diagram with gliffy. As the diagram became more complex, the flickering started and gradually intensified I ran |
@danloiterton Don't forget that Chrome has |
Same issue here, started to have it after updating vscode last week I think. I have it on a Macbook Pro Retina 15 inches, but it doesn't occur on my secondary screen which is default DPI. |
what's the impact if we turn it on for all builds as part of the regular
release?
…On Thu, Mar 29, 2018, 12:12 PM Jérémy Faivre ***@***.***> wrote:
Same issue here, started to have it after updating vscode last week I
think. I have it on a Macbook Pro Retina 15 inches, but it doesn't occur on
my secondary screen which is default DPI.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#45492 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABZ-WU6f3IbxZbH1HpG2Gmex0kANWCHZks5tjQfOgaJpZM4Sle38>
.
|
I believe the list of disabled/enabled cards is available here. Any systems with these cards disabled with good reason may be affected, but considering the age of most of these... hm. |
@bpasero Thanks! I will try this later today and report back. |
@bpasero Exploration build is butter smooth with no extra flags. Interestingly, the flickering on mainline Code appears to be reduced in more recent versions without I dare say, though, that the exploration build is the smoothest Code experience I've seen in a while. Even with all extensions disabled on mainline and with GPU acceleration force-enabled, there's still some noticeable stutter in places (such as terminal refreshing on fast-printing commands like |
Sadly confirm the similar issues. Unfortunately, reproducible for both UHD and HD monitors. |
Also, as the bug description implies, switching VC from full screen mode to windowed of smaller size on UHD monitors seems like allows decreasing the number of residual aftereffects of the mentioned graphics redraw issues. |
Ok. After waiting for MS IntelliSense to setup (in order to be able showing mouseover popup hints), it looks like I do not see the graphics issues (Linux U17, XRDP) in the corresponding package after playing a little. |
@Ts-OV Can you clarify what you meant by “waiting for MS Intellisense to setup”? Intellisense is built-in to some extent but there are also extensions to add to this. Are you using an additional extension for this? Or did you have it disabled previously? I’m not sure your issue is the same as the rest of us, as per previous posts this hasn’t been inherently tied to Intellisense in any way. |
What I meant previously, is VC standard extension (offered automatically by VC to be installed based on C++ project I work currently with): |
@rightaway I'm still seeing this on Ubuntu with i3wm. |
@bpasero However, with the exploration version that was posted a couple weeks ago, those issues appear to be gone. There aren't any empty blocks and the terminal updates very quickly with the default renderer. |
Affected as well, but this happened after updating nvidia driver (Debian Buster, GTX 1070). Not sure what is the problem, but it means that VSCode is unusable to me. I tried |
Did you also try |
I was only lucky with |
@bpasero Thank you for your comments! I have cloned the repo and checked out branch |
Latest build seems to be working well for me too. Have not noticed paint issues in a while. I tried the new TypedArray for the console, but had a crash or two so I disabled it. |
We will not jump from Electron 2.0.x to 4.0.x. Currently we think about shipping 3.0.x in Q1 2019 which means Electron 4.0.x would be somewhere Q2 2019 (just guessing). |
Ok, thanks. I will try the |
l am on ArchLinux with a dual-graphics laptop (Intel & Nvidia GTX950M). When I run it with just |
Closing this issue given that we plan to release VSCode stable early February with Electron 3.x. If you want to benefit from the fix already, consider to use our insiders version that already contains the fix: https://code.visualstudio.com/insiders/ |
As of this writing, I'm using the latest version of the Insiders build on a MacBook Pro (15-inch, Radeon Pro 560X 4096 MB) + OS X 10.14.1 + Dell P2415Q (DisplayPort / MST Off / 3840x2160 @ 60Hz) and find that the issue still occurs on the external display. After some additional troubleshooting, I determined that in my case the cause seems to be related to adjusting the Resolution to Scaled in the OS X Display Preference pane. With scaling disabled, I don't encounter the issue. Note that using a third-party display resolution tool, SwitchResX, seems to allow me to adjust resolution while at the same time avoiding the VSC flicker. This may prove applicable for some. |
@cscomfort I have similar issues, reported as a new issue: #68188 |
Issue Type: Bug
When VS Code sits open for a while, say in the background or after an unmeasured time of just sitting around, large portions of the window appear to not repaint. This also occurs with more "complicated" views, such as the terminal or git diff views, upon scrolling. This causes an insane amount of flickering, and in git diff views it's almost impossible to use as large portions of the screen don't repaint upon scrolling.
This does not occur in other Electron apps, such as Discord or GPMDP, nor does it appear in Chromium or Chrome (not that I suppose that matters).
I know this is a bit of a duplicate of old issues, as I've seen issues like #12473 before, but all of those have been marked as resolved. I don't know if it's my system specifically or what, but none of the fixes in any of these issues seem to work; not even
--disable-gpu
,--force-gpu-rasterization
,window.zoomLevel: 0
, or any of the other tricks have had any effect.I don't see it mentioned in the system info, so I suppose I should also note that I'm running on an AMD RX 480 with
mesa
and the AMDGPU open source drivers, on KDE X11.Screenshots
(Both of these are more related to the git diff issue, but I don't have a good way to record nor reproduce the time-based flickering issue yet.)
Steps to reproduce
--disable-gpu
or--force-gpu-rasterization
)VS Code version: Code 1.21.0 (9a199d7, 2018-03-07T11:01:43.521Z)
OS version: Linux x64 4.15.7-1-zen
System Info
Extensions (51)
The text was updated successfully, but these errors were encountered: