Closed gusbemacbe closed 6 years ago
Does this happen only in the Insiders and not in stable?
This looks like a bug in the way Chromium does tiling when rendering using the GPU.
@bpasero @Tyriar Have you seen this before ?
Only in Insiders on macOS.
On Linux, it is all OK. In spite of it, on LInux, using an Apple keyboard, Insiders suffers of another bug: when you press fn + F6 to wrap line, wrap and unwraping automatically line doesn't stop. I had to hold to cancel, using esc.
@gusbemacbe let's track one issue per issue. Open another issue if you have trouble with the Apple keyboard and please add as many details as possible regarding the keyboard layout and be sure to follow the trouboleshooting guide from https://github.com/Microsoft/vscode/wiki/Keybinding-Issues.
@gusbemacbe I assume the artifacts go away when you run "code --disable-gpu
"?
I runned code-insiders --disable-gpu
in both all enabled and disabled extensions and it is still the same bug. I also have just updated today and it is still the same bug, disabling both extensions and GPU.
I will give you all details:
Mac mini mid 2011, 2,3 GHz Intel Core i5, 8 GB 1333 MHz DDR3, Intel HD Graphics 3000 512 MB and macOS High Sierra 10.13.4
code-insiders --list-extensions
DotJoshJohnson.xml
PKief.material-icon-theme
Tyriar.sort-lines
Zignd.html-css-class-completion
abusaidm.html-snippets
alexdima.copy-relative-path
bajdzis.vscode-database
be5invis.vscode-custom-css
bradgashler.htmltagwrap
brapifra.phpserver
brunnerh.file-properties-viewer
castwide.solargraph
cstrap.python-snippets
dbaeumer.vscode-eslint
donjayamanne.jupyter
donjayamanne.python-extension-pack
dustinsanders.an-old-hope-theme-vscode
ecmel.vscode-html-css
eg2.tslint
eiminsasete.apacheconf-snippets
idleberg.emoji-code
felixfbecker.php-debug
felixfbecker.php-intellisense
felixfbecker.php-pack
formulahendry.auto-close-tag
formulahendry.code-runner
formulahendry.vscode-mysql
goessner.mdmath
heberalmeida.php-snippets
hwencc.html-tag-wrapper
jakebathman.mysql-syntax
jakeboone02.cypher-query-language
jakelucas.code-select-until
jerriepelser.copy-markdown-as-html
jithurjacob.nbpreviewer
jmredfern.sort-selection
jock.svg
junstyle.php-cs-fixer
kamikillerto.vscode-colorize
konstantin.wrapSelection
magicstack.MagicPython
mdickin.markdown-shortcuts
mrmlnc.vscode-apache
mrmlnc.vscode-attrs-sorter
mrmlnc.vscode-duplicate
ms-python.python
ms-vscode.atom-keybindings
ms-vscode.cpptools
ms-vscode.csharp
naumovs.color-highlight
ohansemmanuel.css-grid-snippets
pranaygp.vscode-css-peek
rasmus.al-formatter
rebornix.Ruby
robinbentley.sass-indented
searKing.preview-vscode
sensourceinc.vscode-sql-beautify
yzhang.markdown-all-in-one
{
"atomKeymap.promptV3Features": true,
"auto-close-tag.SublimeText3Mode": true,
"colorize.activate_variables_support_beta": true,
"colorize.languages": [ "css", "html", "php", "svg"],
"css.validate": false,
"editor.autoIndent": false,
"editor.colorDecorators": false,
"editor.fontFamily": "Everson Mono Bold, Menlo, Monaco, Courier New, Aegean, monospace",
"editor.fontLigatures": true,
"editor.fontSize": 12,
"editor.minimap.enabled": false,
"editor.minimap.renderCharacters": false,
"editor.multiCursorModifier": "ctrlCmd",
"editor.quickSuggestions":
{
"comments": true,
"other": true,
"strings": true
},
"editor.renderLineHighlight": "none",
"editor.selectionHighlight": false,
"editor.smoothScrolling": true,
"editor.tabCompletion": true,
"editor.tabSize": 2,
"emmet.excludeLanguages": [""],
"emmet.includeLanguages": { "vue-html": "html", "markdown": "html" },
"emmet.showSuggestionsAsSnippets": true,
"explorer.autoReveal": false,
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"files.autoSave": "onFocusChange",
"files.exclude":
{
"**/.DS_Store": false
},
"git.autofetch": true,
"git.confirmSync": true,
"git.enableSmartCommit": true,
"html-css-class-completion.enableEmmetSupport": true,
"html.format.indentInnerHtml": true,
"material-icon-theme.files.associations":
{
"changelog.php": "changelog"
},
"material-icon-theme.folders.associations":
{
"fontes": "font",
"idiomas": "i18n",
"imagens": "images",
"javascript": "javascript",
"language": "i18n",
"teste": "test"
},
"material-icon-theme.folders.color": "#E5CD52",
"phpserver.browser": "firefox",
"phpserver.port": 8200,
"php-cs-fixer.formatHtml": true,
"search.location": "panel",
"terminal.integrated.fontFamily": "Everson Mono",
"terminal.integrated.fontSize": 16,
"workbench.activityBar.visible": true,
"workbench.colorCustomizations":
{
"activityBarBadge.background": "#E5CD52",
"activityBar.border": "#E5CD52",
"activityBar.foreground": "#A9B8BA",
"scrollbarSlider.background": "#E5CD52",
"scrollbarSlider.hoverBackground": "#4FB4D7"
},
"workbench.editor.enablePreview": false,
"workbench.fontAliasing": "antialiased",
"workbench.iconTheme": "material-icon-theme",
"workbench.startupEditor": "none",
"window.zoomLevel": 1,
"workbench.colorTheme": "An Old Hope"
}
@gusbemacbe and you are not seeing this in stable version right?
@bpasero
Yes, VSCode stable doesn't have this bug on macOS.
On Linux, both VSCode stable and Insiders do not have this bug.
Only on macOS and on VSCode Insiders, it does have this bug.
@gusbemacbe what Mac hardware do you run with? Is it a Mac with NVIDIA discrete GPU?
No, it is an Intel hardware. Here are the details in German (as you are a German-speaking Swiss):
@gusbemacbe does it reproduce if you run "code --disable-gpu-blacklist
" from the command line?
No, it doesn't. I ran it and it appears still with this same bug.
@gusbemacbe I am a bit confused by that answer, does it reproduce when you use that flag or does it not reproduce?
@gusbemacbe this issue seems to be the same as https://github.com/Microsoft/vscode/issues/12473 which for some reason comes back with the new Electron. There are more workarounds described in that issue that you could try out:
code --force-gpu-rasterization
Also interesting, are you running with a custom color profile? I came across that via the comment in https://github.com/Microsoft/vscode/issues/12473#issuecomment-294588097
@gusbemacbe I am a bit confused by that answer, does it reproduce when you use that flag or does it not reproduce?
I ran all these commands you suggested, in both integrated terminal and external terminal, nothing happened, no flags, no verbose, no reproductions. The editor is like Ahch-To.
change the zoom level (View > Zoom In) run with code
--force-gpu-rasterization
I ran this command in both integral and external terminals, nothing happened. The bug is still:
Also interesting, are you running with a custom color profile? I came across that via the comment in #12473 (comment)
I have already changed all colour profiles and the bug is still there. But when I changed the colour profile, the background changed and glitched and you can see two animated gIFs:
Yes, I restarted to update and the bug is still.
I have received the warning as I have read one of suggestions in https://github.com/Microsoft/vscode/issues/12473#issuecomment-249162278.
$ '/Applications/My apps/Visual Studio Code - Insiders.app/Contents/MacOS/Electron' --force-gpu-rasterization
[main 05:31:58] update#setState idle
2018-04-20 05:31:58.891 Electron[1195:30076] *** WARNING: Textured window <AtomNSWindow: 0x7fd8125b2ea0> is getting an implicitly transparent titlebar. This will break when linking against newer SDKs. Use NSWindow's -titlebarAppearsTransparent=YES instead.
Applying this path, running all the commands you suggested, it is the same warning and the bug is still there.
I have calibrated the colour profile and it almost or quite seemed to work, but the bug appeared by surprise:
I believe this is happening because the GPU blacklist entry for macOS was reverted in v2 https://github.com/electron/libchromiumcontent/pull/489. This was done to try to help with https://github.com/electron/electron/issues/12042, we're fixing this for real by not requiring canvas for the terminal with https://github.com/Microsoft/vscode/issues/46954 (the minimap still uses it but it's much smaller and doesn't update as much so shouldn't be too noticeable).
@Tyriar good catch 🥇
I spent more time in Linux than in macOS because of this bug. But as you have updated the Insiders version, I came back to check if Insiders is OK after the update. I tested colour profile. The bug is gone. It seems the update solved it.
I switched to Nord theme...
@gusbemacbe Insiders is currently on Electron 1.7.12 which explains why the bug went away.
@Tyriar let's leave it open to track the Electron 2.0.x issues. All of those I marked as electron-update, even though they do not exist in our current release.
OK, @bpasero.
@Tyriar oh sorry, I did not see that @gusbemacbe closed it :)
@gusbemacbe according to a Chrome issue I have read, folks are saying that this issue has been addressed by Apple in the 10.13.4 update. I see however that you are on that version, which is odd. Can you:
Hi @bpasero,
The bug is back. Here is the screenshot:
But if I change colour profile, here is:
They are compatible only with monitor's new colour profile (if monitor is a Samsung, it would be SM[number-serie] and with sRGB, but not with Apple RGB and Generic RGB Profile.
And here are the details of Mac mini Mid 2011, including hardware GPU in German (as you are a German-speaking Swiss): https://support.apple.com/kb/SP632?viewlocale=de_DE
If you insist, here is the quick detail of hardware GPU: https://browser.geekbench.com/macs/90
@gusbemacbe so do you have the model with discrete GPU (AMD Radeon HD 6630M
)?
They are compatible only with monitor's new colour profile (if monitor is a Samsung, it would be SM[number-serie] and with sRGB, but not with Apple RGB and Generic RGB Profile.
With "compatible", do you mean the issue goes away when you switch to SM[number-serie]
or sRGB
?
Are you on latest macOS 10.13.5
by now?
so do you have the model with discrete GPU (AMD Radeon HD 6630M)?
No, I ran via terminal, here is the result:
lspci -nn | grep '\[03'
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09)
sudo lshw -C display
*-display
description: VGA compatible controller
product: 2nd Generation Core Processor Family Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 09
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:43 memory:a0000000-a03fffff memory:90000000-9fffffff ioport:2000(size=64) memory:c0000-dffff
lspci | grep ' VGA ' | cut -d" " -f 1 | xargs -i lspci -v -s {}
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: Apple Inc. 2nd Generation Core Processor Family Integrated Graphics Controller
Flags: bus master, fast devsel, latency 0, IRQ 43
Memory at a0000000 (64-bit, non-prefetchable) [size=4M]
Memory at 90000000 (64-bit, prefetchable) [size=256M]
I/O ports at 2000 [size=64]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: i915
With "compatible", do you mean the issue goes away when you switch to SM[number-serie] or sRGB?
Yes
Are you on latest macOS 10.13.5 by now?
Yes
@gusbemacbe would you be willing and able to do a slight code modification in the code exploration build and then try again? That would be:
/Applications/Visual Studio Code - Exploration.app/Contents/Resources/app/out/main.js
app.commandLine.appendSwitch("disable-mojo-local-storage");
app.commandLine.appendSwitch('disable-accelerated-2d-canvas');
=> does the issue still reproduce?
Hello @bpasero
Here are the results and it is still the same bug:
@gusbemacbe thanks for trying, I am a bit confused as to why that would not help because I think that is the same configuration as we run with Electron 1.7. To find this out can you:
code-exploration
code-exploration
on path if not yet done (see screenshot below)code-exploration --status
and attach the outputcode stable
code --status
when code stable is running) and attach the output to compare the difference in the GPU featuresI do not have VSCode Stable. I have only VSCode Insiders. Are VSCode Insiders and VSCode Exploration the same? If so, I will download the VSCode Stable.
code-exploration --status
Version: Code - Exploration 1.25.0-exploration (f8edf3e79a46e49f8054e9b85a6b6acd33de58aa, 2018-06-08T12:14:44.494Z)
OS Version: Darwin x64 17.6.0
CPUs: Intel(R) Core(TM) i5-2415M CPU @ 2.30GHz (4 x 2300)
Memory (System): 8.00GB (1.26GB free)
Load (avg): 2, 2, 2
VM: 0%
Screen Reader: no
Process Argv: /Applications/My apps/Visual Studio Code - Exploration.app/Contents/MacOS/Electron
GPU Status: 2d_canvas: disabled_software
checker_imaging: disabled_off
flash_3d: unavailable_software
flash_stage3d: unavailable_software
flash_stage3d_baseline: unavailable_software
gpu_compositing: unavailable_software
multiple_raster_threads: unavailable_off
native_gpu_memory_buffers: unavailable_software
rasterization: unavailable_software
video_decode: unavailable_software
video_encode: unavailable_software
webgl: unavailable_off
webgl2: unavailable_off
CPU % Mem MB PID Process
0 115 1085 code-exploration main
0 82 1088 shared-process
code --status
Version: Code 1.24.0 (6a6e02cef0f2122ee1469765b704faf5d0e0d859, 2018-06-06T17:30:30.113Z)
OS Version: Darwin x64 17.6.0
CPUs: Intel(R) Core(TM) i5-2415M CPU @ 2.30GHz (4 x 2300)
Memory (System): 8.00GB (1.02GB free)
Load (avg): 2, 2, 2
VM: 0%
Screen Reader: no
Process Argv: /Applications/My apps/Visual Studio Code.app/Contents/MacOS/Electron
GPU Status: 2d_canvas: unavailable_software
flash_3d: unavailable_software
flash_stage3d: unavailable_software
flash_stage3d_baseline: unavailable_software
gpu_compositing: unavailable_software
multiple_raster_threads: unavailable_off
native_gpu_memory_buffers: unavailable_software
rasterization: unavailable_software
video_decode: unavailable_software
video_encode: unavailable_software
vpx_decode: unavailable_software
webgl: unavailable_off
webgl2: unavailable_off
CPU % Mem MB PID Process
0 106 1164 code main
0 156 1167 window (Welcome)
0 66 1188 extensionHost
0 82 1168 shared-process
code-insiders --status
Version: Code - Insiders 1.25.0-insider (8f8ed32e737a7a906fac654fb0bd61b257b449b1, 2018-06-08T05:10:42.592Z)
OS Version: Darwin x64 17.6.0
CPUs: Intel(R) Core(TM) i5-2415M CPU @ 2.30GHz (4 x 2300)
Memory (System): 8.00GB (1.04GB free)
Load (avg): 2, 2, 2
VM: 0%
Screen Reader: no
Process Argv: /Applications/My apps/Visual Studio Code - Insiders.app/Contents/MacOS/Electron
GPU Status: 2d_canvas: unavailable_software
flash_3d: unavailable_software
flash_stage3d: unavailable_software
flash_stage3d_baseline: unavailable_software
gpu_compositing: unavailable_software
multiple_raster_threads: unavailable_off
native_gpu_memory_buffers: unavailable_software
rasterization: unavailable_software
video_decode: unavailable_software
video_encode: unavailable_software
vpx_decode: unavailable_software
webgl: unavailable_off
webgl2: unavailable_off
CPU % Mem MB PID Process
1 115 1211 code-insiders main
0 115 1213 shared-process
@gusbemacbe thanks, there seems to be a difference for 2d_canvas
between insiders and exploration build. Does code-exploration --force-gpu-rasterization
fixes it?
No, it is still the same bug:
@bpasero, I come to advice that since I upgraded to the latest version of VSCode Insiders, the bug affects all colour profiles, not just [monitor][number-serie]. Put it in case of emergency.
@gusbemacbe does it reproduce if you zoom in once? I think previously we heard reports that this would resolve the issue.
Hello @bpasero
When I restored the zoom, increased or decreased the zoom, it is still the bug, using [monitor][number-serie]:
@gusbemacbe another idea I had that is worth a try:
/Applications/Visual Studio Code - Exploration.app/Contents/Resources/app/out/main.js
app.commandLine.appendSwitch("disable-mojo-local-storage");
right after paste this: app.commandLine.appendSwitch('force-color-profile', 'srgb');
Hi @bpasero
Sorry, I was busy with my college. I am on holidays. I have just tested and the bugs are gone. It worked very well with all colour profiles. Then 'force-color-profile', 'srgb'
is perfectly compatible with all Apple colour profiles.
@gusbemacbe that is great to hear
@bpasero, I saw the issue of @nicmr, I ran and tested VSCode Insiders on Ubuntu 18.04 on a Mac mini and there is no colour background bug here, but I am aware that we have used the same version 7dc9539. She updated yesterday 15 and I updated today.
Please, can you send me the VSCode Exploration that I will test on Ubuntu and Manjaro?
Ah, she uses Linux x64 4.15.0-23-generic and I use 4.15.0-20-generic. Her kernel is more recent than mine.
@gusbemacbe the current insiders build of VSCode includes Electron 2.0.x, so no need to use the exploration builds. Since you indicated that setting app.commandLine.appendSwitch('force-color-profile', 'srgb');
fixes this issue for you, we will probably use that as the workaround.
@gusbemacbe can you try with todays insider release to see if you still get background artifacts?
@bpasero
I have just updated and tested VSCode Insider on macOS, with all colour profiles. No bugs.
@gusbemacbe thanks, yeah I think changing the color profile on your end would probably not cause any change given that the new insiders forces the color profile to be sRGB. We might end up shipping with a setting that users have to opt-in in the future, as I feel not 100% good about making it a default.
@bpasero
changing the color profile on your end would probably not cause any change given that the new insiders forces the color profile to be sRGB. We might end up shipping with a setting that users have to opt-in in the future, as I feel not 100% good about making it a default.
You should ask @nicmr and other users of macOS Sierra, High Sierra 10.13.4 and of alpha Mojave 10.14 to test for making sure that it is all OK. If it is not all OK, I suggest you to add color-profile
to settings.js
and offer 3 options: disable-mojo-local-storage
, 'force-color-profile', 'srgb'
and disable-accelerated-2d-canvas
.
Steps to Reproduce:
Observe the background in the screenshot. Compare two colours in the same background. I also changed to default theme and it still occurs the same too.
Does this issue occur when all extensions are disabled?: Yes/No Yes, it still occurs the same thing.
With all extensions disabled, check: