microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
162.45k stars 28.62k forks source link

Horrible performance on a good PC #181366

Closed ghost closed 1 year ago

ghost commented 1 year ago

Does this issue occur when all extensions are disabled?: Yes

Not only VS Code, other applications made with Electron also suffer from the same problem. It turns out that animations, text selection... everything is very laggy, how can I fix this, is there a way to identify what causes these problems? My PC is high-end so I don't understand why I'm having these performance issues on Electron based apps.

PS: I've tried the Insiders version, the same, laggy.

jrieken commented 1 year ago

/needsMoreInfo

Please use this guide to provide more information: https://github.com/Microsoft/vscode/wiki/Performance-Issues#read-the-startup-timers. Thanks.

VSCodeTriageBot commented 1 year ago

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.

Happy Coding!

ghost commented 1 year ago

/needsMoreInfo

Please use this guide to provide more information: https://github.com/Microsoft/vscode/wiki/Performance-Issues#read-the-startup-timers. Thanks.

Profile-20230503T113653.zip

jrieken commented 1 year ago

@sergiohzph Please hit F1 and select "Startup Performance." This will open an editor with performance marker. Please copy-paste everything from it here

ghost commented 1 year ago

@sergiohzph Please hit F1 and select "Startup Performance." This will open an editor with performance marker. Please copy-paste everything from it here

System Info

Performance Marks

What Duration Process Info
start => app.isReady 46 [main] initial startup: true
nls:start => nls:end 22 [main] initial startup: true
require(main.bundle.js) 42 [main] initial startup: true
start crash reporter 19 [main] initial startup: true
serve main IPC handle 1 [main] initial startup: true
create window 26 [main] initial startup: true, state: 0ms, widget: 8ms, show: 17ms
app.isReady => window.loadUrl() 87 [main] initial startup: true
window.loadUrl() => begin to require(workbench.desktop.main.js) 87 [main->renderer] NewWindow
require(workbench.desktop.main.js) 210 [renderer] cached data: YES, node_modules took 0ms
wait for window config 1 [renderer] -
init storage (global & workspace) 12 [renderer] -
init workspace service 9 [renderer] -
register extensions & spawn extension host 61 [renderer] -
restore viewlet 0 [renderer] -
restore panel 0 [renderer] -
restore & resolve visible editors 12 [renderer] 1: workbench.editors.gettingStartedInput
overall workbench load 102 [renderer] -
workbench ready 558 [main->renderer] -
renderer ready 339 [renderer] -
shared process connection ready 165 [renderer->sharedprocess] -
extensions registered 671 [renderer] -

Extension Activation Stats

Extension Eager Load Code Call Activate Finish Activate Event By
vscode.git true 53 5 31 * vscode.git
vscode.git-base true 37 0 0 * vscode.git
vscode.github true 41 1 0 * vscode.github
vscode.configuration-editing false 16 0 0 onLanguage:jsonc vscode.configuration-editing
vscode.debug-auto-launch false 60 0 0 onStartupFinished vscode.debug-auto-launch
vscode.emmet false 45 1 0 onLanguage vscode.emmet
vscode.extension-editing false 124 0 0 onLanguage:markdown vscode.extension-editing
vscode.github-authentication false 206 0 1 onAuthenticationRequest:github vscode.github-authentication
vscode.json-language-features false 41 0 105 onLanguage:jsonc vscode.json-language-features
vscode.markdown-language-features false 106 5 101 onLanguage:markdown vscode.markdown-language-features
vscode.markdown-math false 8 0 0 api vscode.markdown-language-features
vscode.merge-conflict false 64 1 0 onStartupFinished vscode.merge-conflict
vscode.microsoft-authentication false 32 0 6 onAuthenticationRequest:microsoft vscode.microsoft-authentication
ms-vscode-remote.remote-wsl-recommender false 46 5 3 onStartupFinished ms-vscode-remote.remote-wsl-recommender
vscode.typescript-language-features false 23 3 1 onLanguage:jsonc vscode.typescript-language-features

Raw Perf Marks: main

Name    Timestamp   Delta   Total
code/timeOrigin 1683108736540.793   0   0
code/didStartMain   1683108736587   46.20703125 46.20703125
code/willStartCrashReporter 1683108736595   8   54.20703125
code/didStartCrashReporter  1683108736614   19  73.20703125
code/willGenerateNls    1683108736615   1   74.20703125
code/mainAppReady   1683108736633   18  92.20703125
code/didGenerateNls 1683108736637   4   96.20703125
code/willLoadMainBundle 1683108736637   0   96.20703125
code/fork/willLoadCode  1683108736644   7   103.20703125
code/registerFilesystem/file    1683108736674   30  133.20703125
code/didLoadMainBundle  1683108736679   5   138.20703125
code/willStartMainServer    1683108736682   3   141.20703125
code/didStartMainServer 1683108736683   1   142.20703125
code/willCreateCodeWindow   1683108736694   11  153.20703125
code/willRestoreCodeWindowState 1683108736694   0   153.20703125
code/didRestoreCodeWindowState  1683108736694   0   153.20703125
code/willCreateCodeBrowserWindow    1683108736695   1   154.20703125
code/didCreateCodeBrowserWindow 1683108736703   8   162.20703125
code/willMaximizeCodeWindow 1683108736703   0   162.20703125
code/didMaximizeCodeWindow  1683108736720   17  179.20703125
code/didCreateCodeWindow    1683108736720   0   179.20703125
code/willOpenNewWindow  1683108736720   0   179.20703125

Raw Perf Marks: renderer

Name    Timestamp   Delta   Total
code/timeOrigin 1683108736721   0   0
code/didStartRenderer   1683108736806   85  85
code/willWaitForWindowConfig    1683108736806   0   85
code/didWaitForWindowConfig 1683108736807   1   86
code/willShowPartsSplash    1683108736807   0   86
code/didShowPartsSplash 1683108736807   0   86
code/willLoadWorkbenchMain  1683108736807   0   86
code/didLoadWorkbenchMain   1683108737017   210 296
code/registerFilesystem/file    1683108737027   10  306
code/registerFilesystem/vscode-userdata 1683108737027   0   306
code/willInitWorkspaceService   1683108737028   1   307
code/willInitStorage    1683108737029   1   308
code/willInitUserConfiguration  1683108737031   2   310
code/didInitUserConfiguration   1683108737036   5   315
code/willInitWorkspaceConfiguration 1683108737036   0   315
code/didInitWorkspaceConfiguration  1683108737037   1   316
code/didInitWorkspaceService    1683108737037   0   316
code/didInitStorage 1683108737041   4   320
code/willStartWorkbench 1683108737043   2   322
code/LifecyclePhase/Ready   1683108737044   1   323
code/willCreateWorkbenchContributions/1 1683108737059   15  338
code/didCreateWorkbenchContributions/1  1683108737077   18  356
code/willCreateWorkbenchContributions/2 1683108737077   0   356
code/registerFilesystem/trustedDomains  1683108737078   1   357
code/registerFilesystem/vscode-interactive  1683108737079   1   358
code/registerFilesystem/vscode-local-history    1683108737080   1   359
code/didCreateWorkbenchContributions/2  1683108737081   1   360
code/willCreatePart/workbench.parts.titlebar    1683108737083   2   362
code/didRemovePartsSplash   1683108737086   3   365
code/didCreatePart/workbench.parts.titlebar 1683108737093   7   372
code/willCreatePart/workbench.parts.banner  1683108737093   0   372
code/didCreatePart/workbench.parts.banner   1683108737093   0   372
code/willCreatePart/workbench.parts.activitybar 1683108737094   1   373
code/didCreatePart/workbench.parts.activitybar  1683108737095   1   374
code/willCreatePart/workbench.parts.sidebar 1683108737095   0   374
code/didCreatePart/workbench.parts.sidebar  1683108737095   0   374
code/willCreatePart/workbench.parts.editor  1683108737095   0   374
code/didCreatePart/workbench.parts.editor   1683108737108   13  387
code/willCreatePart/workbench.parts.panel   1683108737108   0   387
code/didCreatePart/workbench.parts.panel    1683108737109   1   388
code/willCreatePart/workbench.parts.auxiliarybar    1683108737109   0   388
code/didCreatePart/workbench.parts.auxiliarybar 1683108737109   0   388
code/willCreatePart/workbench.parts.statusbar   1683108737109   0   388
code/didCreatePart/workbench.parts.statusbar    1683108737110   1   389
code/willRestoreEditors 1683108737133   23  412
code/restoreEditors/editorGroupsReady   1683108737142   9   421
code/restoreEditors/editorsToOpenResolved   1683108737143   1   422
code/willRegisterExplorerViews  1683108737143   0   422
code/didRegisterExplorerViews   1683108737144   1   423
code/restoreEditors/editorGroupsRestored    1683108737145   1   424
code/didRestoreEditors  1683108737145   0   424
code/didStartWorkbench  1683108737145   0   424
code/LifecyclePhase/Restored    1683108737145   0   424
code/willCreateWorkbenchContributions/3 1683108737145   0   424
code/willConnectSharedProcess   1683108737145   0   424
code/willLoadExtensions 1683108737197   52  476
code/willHandleExtensionPoints  1683108737218   21  497
code/willHandleExtensionPoint/configurationDefaults 1683108737218   0   497
code/didHandleExtensionPoint/configurationDefaults  1683108737218   0   497
code/willHandleExtensionPoint/configuration 1683108737218   0   497
code/didHandleExtensionPoint/configuration  1683108737225   7   504
code/willHandleExtensionPoint/jsonValidation    1683108737225   0   504
code/didHandleExtensionPoint/jsonValidation 1683108737225   0   504
code/willHandleExtensionPoint/debuggers 1683108737225   0   504
code/didHandleExtensionPoint/debuggers  1683108737225   0   504
code/willHandleExtensionPoint/breakpoints   1683108737225   0   504
code/didHandleExtensionPoint/breakpoints    1683108737225   0   504
code/willHandleExtensionPoint/notebooks 1683108737225   0   504
code/didHandleExtensionPoint/notebooks  1683108737225   0   504
code/willHandleExtensionPoint/notebookRenderer  1683108737225   0   504
code/didHandleExtensionPoint/notebookRenderer   1683108737227   2   506
code/willHandleExtensionPoint/notebookPreload   1683108737227   0   506
code/didHandleExtensionPoint/notebookPreload    1683108737227   0   506
code/willHandleExtensionPoint/problemPatterns   1683108737227   0   506
code/didHandleExtensionPoint/problemPatterns    1683108737227   0   506
code/willHandleExtensionPoint/problemMatchers   1683108737227   0   506
code/didHandleExtensionPoint/problemMatchers    1683108737227   0   506
code/willHandleExtensionPoint/taskDefinitions   1683108737227   0   506
code/didHandleExtensionPoint/taskDefinitions    1683108737228   1   507
code/willHandleExtensionPoint/terminal  1683108737228   0   507
code/didHandleExtensionPoint/terminal   1683108737228   0   507
code/willHandleExtensionPoint/terminalQuickFixes    1683108737228   0   507
code/didHandleExtensionPoint/terminalQuickFixes 1683108737228   0   507
code/willHandleExtensionPoint/walkthroughs  1683108737228   0   507
code/didHandleExtensionPoint/walkthroughs   1683108737237   9   516
code/willHandleExtensionPoint/commands  1683108737237   0   516
code/didHandleExtensionPoint/commands   1683108737239   2   518
code/willHandleExtensionPoint/submenus  1683108737239   0   518
code/didHandleExtensionPoint/submenus   1683108737239   0   518
code/willHandleExtensionPoint/menus 1683108737239   0   518
code/didHandleExtensionPoint/menus  1683108737243   4   522
code/willHandleExtensionPoint/authentication    1683108737243   0   522
code/didHandleExtensionPoint/authentication 1683108737243   0   522
code/willHandleExtensionPoint/languages 1683108737243   0   522
code/didHandleExtensionPoint/languages  1683108737245   2   524
code/willHandleExtensionPoint/customEditors 1683108737245   0   524
code/didHandleExtensionPoint/customEditors  1683108737245   0   524
code/willHandleExtensionPoint/codeActions   1683108737245   0   524
code/didHandleExtensionPoint/codeActions    1683108737245   0   524
code/willHandleExtensionPoint/viewsWelcome  1683108737245   0   524
code/didHandleExtensionPoint/viewsWelcome   1683108737245   0   524
code/willHandleExtensionPoint/localizations 1683108737245   0   524
code/didHandleExtensionPoint/localizations  1683108737245   0   524
code/willHandleExtensionPoint/grammars  1683108737245   0   524
code/didHandleExtensionPoint/grammars   1683108737247   2   526
code/willHandleExtensionPoint/colors    1683108737247   0   526
code/didHandleExtensionPoint/colors 1683108737247   0   526
code/willHandleExtensionPoint/semanticTokenTypes    1683108737247   0   526
code/didHandleExtensionPoint/semanticTokenTypes 1683108737247   0   526
code/willHandleExtensionPoint/semanticTokenModifiers    1683108737247   0   526
code/didHandleExtensionPoint/semanticTokenModifiers 1683108737247   0   526
code/willHandleExtensionPoint/semanticTokenScopes   1683108737247   0   526
code/didHandleExtensionPoint/semanticTokenScopes    1683108737247   0   526
code/willHandleExtensionPoint/snippets  1683108737247   0   526
code/didHandleExtensionPoint/snippets   1683108737247   0   526
code/willHandleExtensionPoint/keybindings   1683108737247   0   526
code/didHandleExtensionPoint/keybindings    1683108737251   4   530
code/willHandleExtensionPoint/themes    1683108737251   0   530
code/didHandleExtensionPoint/themes 1683108737252   1   531
code/willHandleExtensionPoint/iconThemes    1683108737252   0   531
code/didHandleExtensionPoint/iconThemes 1683108737252   0   531
code/willHandleExtensionPoint/continueEditSession   1683108737252   0   531
code/didHandleExtensionPoint/continueEditSession    1683108737252   0   531
code/willHandleExtensionPoint/viewsContainers   1683108737252   0   531
code/didHandleExtensionPoint/viewsContainers    1683108737255   3   534
code/willHandleExtensionPoint/views 1683108737255   0   534
code/didHandleExtensionPoint/views  1683108737256   1   535
code/didHandleExtensionPoints   1683108737256   0   535
code/didLoadExtensions  1683108737258   2   537
code/didConnectSharedProcess    1683108737310   52  589

Raw Perf Marks: localExtHost

Name    Timestamp   Delta   Total
code/timeOrigin 1683108737218.497   0   0
code/fork/start 1683108737262   43.5029296875   43.5029296875
code/fork/willLoadCode  1683108737276   14  57.5029296875
code/extHost/willConnectToRenderer  1683108737379   103 160.5029296875
code/extHost/didConnectToRenderer   1683108737379   0   160.5029296875
code/extHost/didWaitForInitData 1683108737398   19  179.5029296875
code/extHost/didCreateServices  1683108737398   0   179.5029296875
code/extHost/willWaitForConfig  1683108737408   10  189.5029296875
code/extHost/didWaitForConfig   1683108737412   4   193.5029296875
code/extHost/didInitAPI 1683108737429   17  210.5029296875
code/extHost/didInitProxyResolver   1683108737430   1   211.5029296875
code/extHost/ready  1683108737430   0   211.5029296875
code/extHost/willLoadExtensionCode/vscode.git-base  1683108737466   36  247.5029296875
code/extHost/didLoadExtensionCode/vscode.git-base   1683108737469   3   250.5029296875
code/extHost/willActivateExtension/vscode.git-base  1683108737469   0   250.5029296875
code/extHost/didActivateExtension/vscode.git-base   1683108737469   0   250.5029296875
code/extHost/willLoadExtensionCode/vscode.github    1683108737509   40  290.5029296875
code/extHost/didLoadExtensionCode/vscode.github 1683108737511   2   292.5029296875
code/extHost/willActivateExtension/vscode.github    1683108737511   0   292.5029296875
code/extHost/didActivateExtension/vscode.github 1683108737512   1   293.5029296875
code/extHost/willLoadExtensionCode/vscode.git   1683108737512   0   293.5029296875
code/extHost/didLoadExtensionCode/vscode.git    1683108737522   10  303.5029296875
code/extHost/willActivateExtension/vscode.git   1683108737522   0   303.5029296875
code/extHost/didActivateExtension/vscode.git    1683108737558   36  339.5029296875

Node Cached Data Stats

cached data used

cached data missed

cached data rejected

cached data created (lazy, might need refreshes)

jrieken commented 1 year ago

@sergiohzph Thanks for the extra info. According to the numbers VS Code starts in 0.5 seconds (started until rendering text and a blinking cursor). Is that different from what you perceive (visually) or doesn't that time meet your expectations of fast?

ghost commented 1 year ago

@sergiohzph Thanks for the extra info. According to the numbers VS Code starts in 0.5 seconds (started until rendering text and a blinking cursor). Is that different from what you perceive (visually) or doesn't that time meet your expectations of fast?

The most obvious example is this.

https://user-images.githubusercontent.com/132315597/235902164-7e5c814d-871c-46b2-ba1e-ce263b378203.mp4

The animation when I press on "Mark as done" on the welcome screen is not smooth at all. It should look smooth at my screen's refresh rate (neither in the video), but instead it looks like the animation is limited to 25/30fps. I stress that this doesn't only happen to me in VS code, other applications made with Electron such as Skype, Teams or this one (I also have this problem with Discord sometimes, but there they are more visual glitches than performance issues in the animations) also work horribly badly as far as animations and fluidity are concerned. So I don't understand why this happens, problems with my PC?As you saw I don't have a bad PC, and I have a 4090, (maybe is a drivers issue?) Well I have no idea, but two days ago I did a clean reinstall of Windows with all drivers updated, so I don't know what's going on with the apps made with Electron on my computer. They have always worked this badly since I bought the PC a few months ago....

jrieken commented 1 year ago

Can you enable the FPS-meter when running the steps shown above. F1 > Toggle Dev Tools and select Rendering from the bottom overflow menu. Enable the meter and see what FPS you reach while your scenario runs

Screenshot 2023-05-03 at 17 20 22
ghost commented 1 year ago

Can you enable the FPS-meter when running the steps shown above. F1 > Toggle Dev Tools and select Rendering from the bottom overflow menu. Enable the meter and see what FPS you reach while your scenario runs

Screenshot 2023-05-03 at 17 20 22

https://user-images.githubusercontent.com/132315597/235983106-26eafa9d-c30b-405f-b4ee-4a76b2279f0e.mp4 ??? In the video shows FPS higher than 60 but I see it like 30fps or even less... But anyway, it shows a lot less FPS than you do, so something is indeed wrong... My display is 165Hz.

I think I've discovered the issue.

I did a clean reinstallation of Windows again, the first thing I did after installing Windows was to install the Electron applications (VS Code, Skype etc), they all worked smoothly and perfectly.

Then I installed other programs that I use on a daily basis and the Electron applications continued to work fine. But it wasn't until I installed Python 3.10.11 that they started to lag again. So the problem is presumably caused by that particular version of Python. Now I uninstalled that version of Python and the others, restarted the PC and the animations are still laggy, as if that damage had remained permanently.

How is it possible for a version of Python to cause these performance problems in Electron-based applications?

I should report this problem to the Python development team? as I need to have that particular version of Python on my computer as I use Stable Diffusion on a daily basis and it only works up to that version, not the latest ones.

deepak1556 commented 1 year ago

Do you see similar lag when using https://vscode.dev on Chrome or edge browser ?

ghost commented 1 year ago

Do you see similar lag when using https://vscode.dev on Chrome or edge browser ?

No, only on Electron apps. But anyway, I no longer have this problem (for now at least), a week ago I did another clean reinstall of Windows 11 and seems that since then runs all smoothly I don't know why. If the issue happens again I'll let you know.

deepak1556 commented 1 year ago

Closing per above comment, can reopen if the issue persists.

ghost commented 1 year ago

Closing per above comment, can reopen if the issue persists.

It's lagging a lot again, and I don't know what I did. @jrieken @deepak1556 image Here's the new profile file: Profile-20230525T234852.zip Do you know what is causing it now?

ghost commented 1 year ago

image I've scanned my PC in case there was a virus issue, and no it's not. The AV just flagged two files as suspicious, but they're not as they are from Cheat Engine.

ghost commented 1 year ago

Here's the GPU info.

Graphics Feature Status
Canvas: Hardware accelerated
Canvas out-of-process rasterization: Enabled
Direct Rendering Display Compositor: Disabled
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
OpenGL: Enabled
Rasterization: Hardware accelerated
Raw Draw: Disabled
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
WebGPU: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
decode_encode_srgb_for_generatemipmap
disable_accelerated_av1_encode
disable_direct_composition_sw_video_overlays
enable_webgl_timer_query_extensions
exit_on_context_lost
disabled_extension_GL_KHR_blend_equation_advanced
disabled_extension_GL_KHR_blend_equation_advanced_coherent
Problems Detected
Some drivers are unable to reset the D3D device in the GPU process sandbox
Applied Workarounds: exit_on_context_lost
Clear uniforms before first program use on all platforms: [124764](http://crbug.com/124764), [349137](http://crbug.com/349137)
Applied Workarounds: clear_uniforms_before_first_program_use
Disable KHR_blend_equation_advanced until cc shaders are updated: [661715](http://crbug.com/661715)
Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent)
Decode and Encode before generateMipmap for srgb format textures on Windows: [634519](http://crbug.com/634519)
Applied Workarounds: decode_encode_srgb_for_generatemipmap
Expose WebGL's disjoint_timer_query extensions on platforms with site isolation: [808744](http://crbug.com/808744), [870491](http://crbug.com/870491)
Applied Workarounds: enable_webgl_timer_query_extensions
Disable software overlays for Intel GPUs. All Skylake+ devices support hw overlays, older devices peform poorly.: [1192748](http://crbug.com/1192748)
Applied Workarounds: disable_direct_composition_sw_video_overlays
Disable hardware MFT Av1 encoder on machines with multiple GPUs except Intel alchemist GPUs: [1367038](http://crbug.com/1367038)
Applied Workarounds: disable_accelerated_av1_encode
ANGLE Features
allowCompressedFormats (Frontend workarounds): Enabled: true
Allow compressed formats
cacheCompiledShader (Frontend features) [anglebug:7036](http://anglebug.com/7036): Disabled
Enable to cache compiled shaders
disableAnisotropicFiltering (Frontend workarounds): Disabled
Disable support for anisotropic filtering
disableDrawBuffersIndexed (Frontend features) [anglebug:7724](http://anglebug.com/7724): Disabled
Disable support for OES_draw_buffers_indexed and EXT_draw_buffers_indexed
disableProgramBinary (Frontend features) [anglebug:5007](http://anglebug.com/5007): Disabled
Disable support for GL_OES_get_program_binary
disableProgramCachingForTransformFeedback (Frontend workarounds): Disabled
On some GPUs, program binaries don't contain transform feedback varyings
dumpShaderSource (Frontend features) [anglebug:7760](http://anglebug.com/7760): Disabled
Write shader source to temp directory
emulatePixelLocalStorage (Frontend features) [anglebug:7279](http://anglebug.com/7279): Enabled: true
Emulate ANGLE_shader_pixel_local_storage using shader images
enableCaptureLimits (Frontend features) [anglebug:5750](http://anglebug.com/5750): Disabled
Set the context limits like frame capturing was enabled
enableProgramBinaryForCapture (Frontend features) [anglebug:5658](http://anglebug.com/5658): Disabled
Even if FrameCapture is enabled, enable GL_OES_get_program_binary
enableShaderSubstitution (Frontend workarounds) [anglebug:7761](http://anglebug.com/7761): Disabled
Check the filesystem for shaders to use instead of those provided through glShaderSource
forceDepthAttachmentInitOnClear (Frontend workarounds) [anglebug:7246](https://anglebug.com/7246): Disabled: isAMD
Force depth attachment initialization on clear ops
forceGlErrorChecking (Frontend features) https://issuetracker.google.com/220069903: Disabled
Force GL error checking (i.e. prevent applications from disabling error checking
forceInitShaderVariables (Frontend features): Disabled
Force-enable shader variable initialization
forceRobustResourceInit (Frontend features) [anglebug:6041](http://anglebug.com/6041): Disabled
Force-enable robust resource init
loseContextOnOutOfMemory (Frontend workarounds): Enabled: true
Some users rely on a lost context notification if a GL_OUT_OF_MEMORY error occurs
scalarizeVecAndMatConstructorArgs (Frontend workarounds) [1165751](http://crbug.com/1165751): Disabled: false
Always rewrite vec/mat constructors to be consistent
singleThreadedTextureDecompression (Frontend workarounds): Disabled
Disables multi-threaded decompression of compressed texture formats
addMockTextureNoRenderTarget (D3D workarounds) [anglebug:2152](http://anglebug.com/2152): Disabled: isIntel && capsVersion >= IntelDriverVersion(160000) && capsVersion < IntelDriverVersion(164815)
On some drivers when rendering with no render target, two bugs lead to incorrect behavior
allowClearForRobustResourceInit (D3D workarounds) [941620](http://crbug.com/941620): Enabled: true
Some drivers corrupt texture data when clearing for robust resource initialization.
allowES3OnFL100 (D3D workarounds): Disabled: false
Allow ES3 on 10.0 devices
allowTranslateUniformBlockToStructuredBuffer (D3D workarounds) [anglebug:3682](http://anglebug.com/3682): Enabled: IsWin10OrGreater()
There is a slow fxc compile performance issue with dynamic uniform indexing if translating a uniform block with a large array member to cbuffer.
borderColorSrgb (D3D workarounds): Disabled
Some drivers expect sRGB border color for sRGB texture formats
callClearTwice (D3D workarounds) [655534](https://crbug.com/655534): Disabled: isIntel && isSkylake && capsVersion >= IntelDriverVersion(160000) && capsVersion < IntelDriverVersion(164771)
Using clear() may not take effect
depthStencilBlitExtraCopy (D3D workarounds) [anglebug:1452](http://anglebug.com/1452): Disabled: (part1 <= 13u && part2 < 6881) && isNvidia && driverVersionValid
Bug in some drivers triggers a TDR when using CopySubresourceRegion from a staging texture to a depth/stencil
disableB5G6R5Support (D3D workarounds): Disabled: (isIntel && capsVersion >= IntelDriverVersion(150000) && capsVersion < IntelDriverVersion(154539)) || isAMD
Textures with the format DXGI_FORMAT_B5G6R5_UNORM have incorrect data
disableRasterizerOrderViews (D3D workarounds) [anglebug:7279](http://anglebug.com/7279): Disabled
Disable ROVs for testing
emulateIsnanFloat (D3D workarounds) [650547](https://crbug.com/650547): Disabled: isIntel && isSkylake && capsVersion >= IntelDriverVersion(160000) && capsVersion < IntelDriverVersion(164542)
Using isnan() on highp float will get wrong answer
emulateTinyStencilTextures (D3D workarounds): Disabled: isAMD && !(deviceCaps.featureLevel < D3D_FEATURE_LEVEL_10_1)
1x1 and 2x2 mips of depth/stencil textures aren't sampled correctly
enableTimestampQueries (D3D workarounds): Disabled
Enable timestamp on GL_EXT_disjoint_timer_query extension
expandIntegerPowExpressions (D3D workarounds): Enabled: true
The HLSL optimizer has a bug with optimizing 'pow' in certain integer-valued expressions
flushAfterEndingTransformFeedback (D3D workarounds): Enabled: isNvidia
Some drivers sometimes write out-of-order results to StreamOut buffers when transform feedback is used to repeatedly write to the same buffer positions
forceAtomicValueResolution (D3D workarounds) [anglebug:3246](http://anglebug.com/3246): Enabled: isNvidia
On some drivers the return value from RWByteAddressBuffer.InterlockedAdd does not resolve when used in the .yzw components of a RWByteAddressBuffer.Store operation
getDimensionsIgnoresBaseLevel (D3D workarounds): Enabled: isNvidia
Some drivers do not take into account the base level of the texture in the results of the HLSL GetDimensions builtin
mrtPerfWorkaround (D3D workarounds): Enabled: true
Some drivers have a bug where they ignore null render targets
preAddTexelFetchOffsets (D3D workarounds): Disabled: isIntel
HLSL's function texture.Load returns 0 when the parameter Location is negative, even if the sum of Offset and Location is in range
rewriteUnaryMinusOperator (D3D workarounds): Disabled: isIntel && (isBroadwell || isHaswell) && capsVersion >= IntelDriverVersion(150000) && capsVersion < IntelDriverVersion(154624)
Evaluating unary minus operator on integer may get wrong answer in vertex shaders
selectViewInGeometryShader (D3D workarounds): Disabled: !deviceCaps.supportsVpRtIndexWriteFromVertexShader
The viewport or render target slice will be selected in the geometry shader stage for the ANGLE_multiview extension
setDataFasterThanImageUpload (D3D workarounds): Enabled: !(isIvyBridge || isBroadwell || isHaswell)
Set data faster than image upload
skipVSConstantRegisterZero (D3D workarounds): Enabled: isNvidia
In specific cases the driver doesn't handle constant register zero correctly
useInstancedPointSpriteEmulation (D3D workarounds): Disabled: isFeatureLevel9_3
Some D3D11 renderers do not support geometry shaders for pointsprite emulation
useSystemMemoryForConstantBuffers (D3D workarounds) [593024](https://crbug.com/593024): Disabled: isIntel
Copying from staging storage to constant buffer storage does not work
zeroMaxLodWorkaround (D3D workarounds): Disabled: isFeatureLevel9_3
Missing an option to disable mipmaps on a mipmapped texture
DAWN Info

<Discrete GPU> D3D12 backend - NVIDIA GeForce RTX 4090
[WebGPU Status]
Available
[Default Toggle Names]
lazy_clear_resource_on_first_use: https://crbug.com/dawn/145: Clears resource to zero on first usage. This initializes the resource so that no dirty bits from recycled memory is present in the new resource.
use_d3d12_resource_heap_tier2: https://crbug.com/dawn/27: Enable support for resource heap tier 2. Resource heap tier 2 allows mixing of texture and buffers in the same heap. This allows better heap re-use and reduces fragmentation.
use_d3d12_render_pass: https://crbug.com/dawn/36: Use the D3D12 render pass API introduced in Windows build 1809 by default. On versions of Windows prior to build 1809, or when this toggle is turned off, Dawn will emulate a render pass.
use_d3d12_residency_management: https://crbug.com/dawn/193: Enable residency management. This allows page-in and page-out of resource heaps in GPU memory. This component improves overcommitted performance by keeping the most recently used resources local to the GPU. Turning this component off can cause allocation failures when application memory exceeds physical device memory.
disallow_unsafe_apis: http://crbug.com/1138528: Produces validation errors on API entry points or parameter combinations that aren't considered secure yet.
d3d12_split_buffer_texture_copy_for_rows_per_image_paddings: https://crbug.com/dawn/1289: D3D12 requires more buffer storage than it should when rowsPerImage is greater than copyHeight, which means there are pure padding row(s) on each image. In this situation, the buffer used for B2T/T2B copy might be big enough according to WebGPU's spec but it doesn't meet D3D12's requirement, then we need to workaround it via split the copy operation into two copies, in order to make B2T/T2B copy being done correctly on D3D12.
apply_clear_big_integer_color_value_with_draw: https://crbug.com/dawn/537: Apply the clear value of the color attachment with a draw call when load op is 'clear'. This toggle is enabled by default on D3D12 backends when we set large integer values (> 2^24 or < -2^24 for signed integer formats) as the clear value of a color attachment with 32-bit integer or unsigned integer formats because D3D12 APIs only support using float numbers as clear values, while a float number cannot always precisely represent an integer that is greater than 2^24 or smaller than -2^24). This toggle is also enabled on Intel GPUs on Metal backend due to a driver issue on Intel Metal driver.
[WebGPU Forced Toggles - enabled]
disallow_spirv: https://crbug.com/1214923: Disallow usage of SPIR-V completely so that only WGSL is used for shader modules. This is useful to prevent a Chromium renderer process from successfully sending SPIR-V code to be compiled in the GPU process.
[Supported Features]
texture-compression-bc
pipeline-statistics-query
timestamp-query
timestamp-query-inside-passes
depth-clip-control
depth32float-stencil8
indirect-first-instance
rg11b10ufloat-renderable
bgra8unorm-storage
dawn-internal-usages
multiplanar-formats
dawn-native

<Integrated GPU> D3D12 backend - Intel(R) UHD Graphics 770
[WebGPU Status]
Available
[Default Toggle Names]
lazy_clear_resource_on_first_use: https://crbug.com/dawn/145: Clears resource to zero on first usage. This initializes the resource so that no dirty bits from recycled memory is present in the new resource.
use_d3d12_resource_heap_tier2: https://crbug.com/dawn/27: Enable support for resource heap tier 2. Resource heap tier 2 allows mixing of texture and buffers in the same heap. This allows better heap re-use and reduces fragmentation.
use_d3d12_render_pass: https://crbug.com/dawn/36: Use the D3D12 render pass API introduced in Windows build 1809 by default. On versions of Windows prior to build 1809, or when this toggle is turned off, Dawn will emulate a render pass.
use_d3d12_residency_management: https://crbug.com/dawn/193: Enable residency management. This allows page-in and page-out of resource heaps in GPU memory. This component improves overcommitted performance by keeping the most recently used resources local to the GPU. Turning this component off can cause allocation failures when application memory exceeds physical device memory.
disallow_unsafe_apis: http://crbug.com/1138528: Produces validation errors on API entry points or parameter combinations that aren't considered secure yet.
d3d12_split_buffer_texture_copy_for_rows_per_image_paddings: https://crbug.com/dawn/1289: D3D12 requires more buffer storage than it should when rowsPerImage is greater than copyHeight, which means there are pure padding row(s) on each image. In this situation, the buffer used for B2T/T2B copy might be big enough according to WebGPU's spec but it doesn't meet D3D12's requirement, then we need to workaround it via split the copy operation into two copies, in order to make B2T/T2B copy being done correctly on D3D12.
d3d12_force_clear_copyable_depth_stencil_texture_on_creation: https://crbug.com/dawn/1487: Always clearing copyable depth stencil textures when creating them instead of skipping the initialization when the entire subresource is the copy destination as a workaround on Intel D3D12 drivers.
d3d12_dont_set_clear_value_on_depth_texture_creation: https://crbug.com/dawn/1487: Don't set D3D12_CLEAR_VALUE when creating depth textures with CreatePlacedResource() or CreateCommittedResource() as a workaround on Intel Gen12 D3D12 drivers.
apply_clear_big_integer_color_value_with_draw: https://crbug.com/dawn/537: Apply the clear value of the color attachment with a draw call when load op is 'clear'. This toggle is enabled by default on D3D12 backends when we set large integer values (> 2^24 or < -2^24 for signed integer formats) as the clear value of a color attachment with 32-bit integer or unsigned integer formats because D3D12 APIs only support using float numbers as clear values, while a float number cannot always precisely represent an integer that is greater than 2^24 or smaller than -2^24). This toggle is also enabled on Intel GPUs on Metal backend due to a driver issue on Intel Metal driver.
use_blit_for_depth_texture_to_texture_copy_to_nonzero_subresource: https://crbug.com/dawn/1083: Use a blit to copy from a depth texture to the nonzero subresource of a depth texture. Works around an issue where nonzero layers are not written.
d3d12_polyfill_reflect_vec2_f32: https://crbug.com/tint/1798: Polyfill the reflect builtin for vec2<f32> for D3D12. This toggle is enabled by default on D3D12 backends using FXC on Intel GPUs due to a driver issue on Intel D3D12 driver.
[WebGPU Forced Toggles - enabled]
disallow_spirv: https://crbug.com/1214923: Disallow usage of SPIR-V completely so that only WGSL is used for shader modules. This is useful to prevent a Chromium renderer process from successfully sending SPIR-V code to be compiled in the GPU process.
[Supported Features]
texture-compression-bc
pipeline-statistics-query
timestamp-query
timestamp-query-inside-passes
depth-clip-control
depth32float-stencil8
indirect-first-instance
rg11b10ufloat-renderable
bgra8unorm-storage
dawn-internal-usages
multiplanar-formats
dawn-native

<CPU> D3D12 backend - Microsoft Basic Render Driver
[WebGPU Status]
Blocklisted
[Default Toggle Names]
lazy_clear_resource_on_first_use: https://crbug.com/dawn/145: Clears resource to zero on first usage. This initializes the resource so that no dirty bits from recycled memory is present in the new resource.
use_d3d12_resource_heap_tier2: https://crbug.com/dawn/27: Enable support for resource heap tier 2. Resource heap tier 2 allows mixing of texture and buffers in the same heap. This allows better heap re-use and reduces fragmentation.
use_d3d12_render_pass: https://crbug.com/dawn/36: Use the D3D12 render pass API introduced in Windows build 1809 by default. On versions of Windows prior to build 1809, or when this toggle is turned off, Dawn will emulate a render pass.
use_d3d12_residency_management: https://crbug.com/dawn/193: Enable residency management. This allows page-in and page-out of resource heaps in GPU memory. This component improves overcommitted performance by keeping the most recently used resources local to the GPU. Turning this component off can cause allocation failures when application memory exceeds physical device memory.
disallow_unsafe_apis: http://crbug.com/1138528: Produces validation errors on API entry points or parameter combinations that aren't considered secure yet.
d3d12_split_buffer_texture_copy_for_rows_per_image_paddings: https://crbug.com/dawn/1289: D3D12 requires more buffer storage than it should when rowsPerImage is greater than copyHeight, which means there are pure padding row(s) on each image. In this situation, the buffer used for B2T/T2B copy might be big enough according to WebGPU's spec but it doesn't meet D3D12's requirement, then we need to workaround it via split the copy operation into two copies, in order to make B2T/T2B copy being done correctly on D3D12.
apply_clear_big_integer_color_value_with_draw: https://crbug.com/dawn/537: Apply the clear value of the color attachment with a draw call when load op is 'clear'. This toggle is enabled by default on D3D12 backends when we set large integer values (> 2^24 or < -2^24 for signed integer formats) as the clear value of a color attachment with 32-bit integer or unsigned integer formats because D3D12 APIs only support using float numbers as clear values, while a float number cannot always precisely represent an integer that is greater than 2^24 or smaller than -2^24). This toggle is also enabled on Intel GPUs on Metal backend due to a driver issue on Intel Metal driver.
[WebGPU Forced Toggles - enabled]
disallow_spirv: https://crbug.com/1214923: Disallow usage of SPIR-V completely so that only WGSL is used for shader modules. This is useful to prevent a Chromium renderer process from successfully sending SPIR-V code to be compiled in the GPU process.
[Supported Features]
texture-compression-bc
pipeline-statistics-query
timestamp-query
timestamp-query-inside-passes
depth-clip-control
depth32float-stencil8
indirect-first-instance
rg11b10ufloat-renderable
bgra8unorm-storage
dawn-internal-usages
multiplanar-formats
dawn-native

<Discrete GPU> Vulkan backend - NVIDIA GeForce RTX 4090
[WebGPU Status]
Available
[Default Toggle Names]
lazy_clear_resource_on_first_use: https://crbug.com/dawn/145: Clears resource to zero on first usage. This initializes the resource so that no dirty bits from recycled memory is present in the new resource.
use_temporary_buffer_in_texture_to_texture_copy: https://crbug.com/dawn/42: Split texture-to-texture copy into two copies: copy from source texture into a temporary buffer, and copy from the temporary buffer into the destination texture when copying between compressed textures that don't have block-aligned sizes. This workaround is enabled by default on all Vulkan drivers to solve an issue in the Vulkan SPEC about the texture-to-texture copies with compressed formats. See #1005 (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more details.
vulkan_use_d32s8: https://crbug.com/dawn/286: Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When available the backend will use D32S8 (toggle to on) but setting the toggle to off will make it use the D24S8 format when possible.
vulkan_use_s8: https://crbug.com/dawn/666: Vulkan has a pure stencil8 format but it is not universally available. When this toggle is on, the backend will use S8 for the stencil8 format, otherwise it will fallback to D32S8 or D24S8.
disallow_unsafe_apis: http://crbug.com/1138528: Produces validation errors on API entry points or parameter combinations that aren't considered secure yet.
use_placeholder_fragment_in_vertex_only_pipeline: https://crbug.com/dawn/136: Use a placeholder empty fragment shader in vertex only render pipeline. This toggle must be enabled for OpenGL ES backend, the Vulkan Backend, and serves as a workaround by default enabled on some Metal devices with Intel GPU to ensure the depth result is correct.
use_vulkan_zero_initialize_workgroup_memory_extension: https://crbug.com/dawn/1302: Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan extension VK_KHR_zero_initialize_workgroup_memory is supported.
[WebGPU Forced Toggles - enabled]
disallow_spirv: https://crbug.com/1214923: Disallow usage of SPIR-V completely so that only WGSL is used for shader modules. This is useful to prevent a Chromium renderer process from successfully sending SPIR-V code to be compiled in the GPU process.
[Supported Features]
texture-compression-bc
pipeline-statistics-query
timestamp-query
timestamp-query-inside-passes
depth-clip-control
depth32float-stencil8
chromium-experimental-dp4a
indirect-first-instance
rg11b10ufloat-renderable
bgra8unorm-storage
dawn-internal-usages
dawn-native

<Integrated GPU> Vulkan backend - Intel(R) UHD Graphics 770
[WebGPU Status]
Available
[Default Toggle Names]
lazy_clear_resource_on_first_use: https://crbug.com/dawn/145: Clears resource to zero on first usage. This initializes the resource so that no dirty bits from recycled memory is present in the new resource.
use_temporary_buffer_in_texture_to_texture_copy: https://crbug.com/dawn/42: Split texture-to-texture copy into two copies: copy from source texture into a temporary buffer, and copy from the temporary buffer into the destination texture when copying between compressed textures that don't have block-aligned sizes. This workaround is enabled by default on all Vulkan drivers to solve an issue in the Vulkan SPEC about the texture-to-texture copies with compressed formats. See #1005 (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more details.
vulkan_use_d32s8: https://crbug.com/dawn/286: Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When available the backend will use D32S8 (toggle to on) but setting the toggle to off will make it use the D24S8 format when possible.
disallow_unsafe_apis: http://crbug.com/1138528: Produces validation errors on API entry points or parameter combinations that aren't considered secure yet.
use_placeholder_fragment_in_vertex_only_pipeline: https://crbug.com/dawn/136: Use a placeholder empty fragment shader in vertex only render pipeline. This toggle must be enabled for OpenGL ES backend, the Vulkan Backend, and serves as a workaround by default enabled on some Metal devices with Intel GPU to ensure the depth result is correct.
use_vulkan_zero_initialize_workgroup_memory_extension: https://crbug.com/dawn/1302: Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan extension VK_KHR_zero_initialize_workgroup_memory is supported.
[WebGPU Forced Toggles - enabled]
disallow_spirv: https://crbug.com/1214923: Disallow usage of SPIR-V completely so that only WGSL is used for shader modules. This is useful to prevent a Chromium renderer process from successfully sending SPIR-V code to be compiled in the GPU process.
[Supported Features]
texture-compression-bc
texture-compression-etc2
texture-compression-astc
pipeline-statistics-query
timestamp-query
timestamp-query-inside-passes
depth-clip-control
depth32float-stencil8
chromium-experimental-dp4a
indirect-first-instance
shader-f16
rg11b10ufloat-renderable
bgra8unorm-storage
dawn-internal-usages
dawn-native

<CPU> Vulkan backend - SwiftShader Device (Subzero)
[WebGPU Status]
Blocklisted
[Default Toggle Names]
lazy_clear_resource_on_first_use: https://crbug.com/dawn/145: Clears resource to zero on first usage. This initializes the resource so that no dirty bits from recycled memory is present in the new resource.
use_temporary_buffer_in_texture_to_texture_copy: https://crbug.com/dawn/42: Split texture-to-texture copy into two copies: copy from source texture into a temporary buffer, and copy from the temporary buffer into the destination texture when copying between compressed textures that don't have block-aligned sizes. This workaround is enabled by default on all Vulkan drivers to solve an issue in the Vulkan SPEC about the texture-to-texture copies with compressed formats. See #1005 (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more details.
vulkan_use_d32s8: https://crbug.com/dawn/286: Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When available the backend will use D32S8 (toggle to on) but setting the toggle to off will make it use the D24S8 format when possible.
vulkan_use_s8: https://crbug.com/dawn/666: Vulkan has a pure stencil8 format but it is not universally available. When this toggle is on, the backend will use S8 for the stencil8 format, otherwise it will fallback to D32S8 or D24S8.
disallow_unsafe_apis: http://crbug.com/1138528: Produces validation errors on API entry points or parameter combinations that aren't considered secure yet.
use_placeholder_fragment_in_vertex_only_pipeline: https://crbug.com/dawn/136: Use a placeholder empty fragment shader in vertex only render pipeline. This toggle must be enabled for OpenGL ES backend, the Vulkan Backend, and serves as a workaround by default enabled on some Metal devices with Intel GPU to ensure the depth result is correct.
use_vulkan_zero_initialize_workgroup_memory_extension: https://crbug.com/dawn/1302: Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan extension VK_KHR_zero_initialize_workgroup_memory is supported.
[WebGPU Forced Toggles - enabled]
disallow_spirv: https://crbug.com/1214923: Disallow usage of SPIR-V completely so that only WGSL is used for shader modules. This is useful to prevent a Chromium renderer process from successfully sending SPIR-V code to be compiled in the GPU process.
[Supported Features]
texture-compression-bc
texture-compression-etc2
texture-compression-astc
timestamp-query
timestamp-query-inside-passes
depth-clip-control
depth32float-stencil8
indirect-first-instance
rg11b10ufloat-renderable
bgra8unorm-storage
dawn-internal-usages
dawn-native
Version Information
Data exported
2023-05-26T17:37:49.948Z
Chrome version
Edg/113.0.1774.50
Operating system
Windows NT 10.0.22624
Software rendering list URL
https://chromium.googlesource.com/chromium/src/+/8da0c060b24fe8c84cb753bd0659e49fc290d3e8/gpu/config/software_rendering_list.json
Driver bug list URL
https://chromium.googlesource.com/chromium/src/+/8da0c060b24fe8c84cb753bd0659e49fc290d3e8/gpu/config/gpu_driver_bug_list.json
ANGLE commit id
03d0aaccdbb2
2D graphics backend
Skia/113 1195e70d671947af02a6a5b0ddc65806b9645252
Command Line
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --profile-directory=Default --flag-switches-begin --flag-switches-end
Driver Information
Initialization time
81
In-process GPU
false
Passthrough Command Decoder
true
Sandboxed
true
GPU0
VENDOR= 0x10de, DEVICE=0x2684, SUBSYS=0x51031462, REV=161, LUID={0,46695}, DRIVER_VENDOR=NVIDIA, DRIVER_VERSION=31.0.15.3179 *ACTIVE*
GPU1
VENDOR= 0x8086, DEVICE=0xa780, SUBSYS=0x7d911462, REV=4, LUID={0,52139}, DRIVER_VERSION=31.0.101.4338
GPU2
VENDOR= 0x1414, DEVICE=0x008c, LUID={0,52099}, DRIVER_VERSION=10.0.22621.1245
Optimus
false
AMD switchable
false
Desktop compositing
Aero Glass
Direct composition
true
Supports overlays
true
YUY2 overlay support
SCALING
NV12 overlay support
SCALING
BGRA8 overlay support
SOFTWARE
RGB10A2 overlay support
SOFTWARE
Driver D3D12 feature level
D3D 12.2
Driver Vulkan API version
Vulkan API 1.3.0
GPU CUDA compute capability major version
0
Pixel shader version
5.0
Vertex shader version
5.0
Max. MSAA samples
8
Machine model name
Machine model version
GL implementation parts
(gl=egl-angle,angle=d3d11)
Display type
ANGLE_D3D11
GL_VENDOR
Google Inc. (NVIDIA)
GL_RENDERER
ANGLE (NVIDIA, NVIDIA GeForce RTX 4090 Direct3D11 vs_5_0 ps_5_0, D3D11-31.0.15.3179)
GL_VERSION
OpenGL ES 2.0.0 (ANGLE 2.1.32131 git hash: 03d0aaccdbb2)
GL_EXTENSIONS
GL_AMD_performance_monitor GL_ANGLE_base_vertex_base_instance GL_ANGLE_base_vertex_base_instance_shader_builtin GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_get_serialized_context_string GL_ANGLE_get_tex_level_parameter GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_provoking_vertex GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_APPLE_clip_distance GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_lose_context GL_CHROMIUM_sync_query GL_EXT_EGL_image_external_wrap_modes GL_EXT_base_instance GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_clip_control GL_EXT_color_buffer_half_float GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_clamp GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_draw_elements_base_vertex GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_multi_draw_indirect GL_EXT_multisampled_render_to_texture GL_EXT_occlusion_query_boolean GL_EXT_polygon_offset_clamp GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_border_clamp GL_EXT_texture_compression_bptc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_mirror_clamp_to_edge GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_texture_type_2_10_10_10_REV GL_EXT_unpack_subimage GL_KHR_debug GL_KHR_parallel_shader_compile GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_framebuffer_blit GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_compressed_EAC_R11_signed_texture GL_OES_compressed_EAC_R11_unsigned_texture GL_OES_compressed_EAC_RG11_signed_texture GL_OES_compressed_EAC_RG11_unsigned_texture GL_OES_compressed_ETC2_RGB8_texture GL_OES_compressed_ETC2_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture GL_OES_compressed_ETC2_sRGB8_alpha8_texture GL_OES_compressed_ETC2_sRGB8_texture GL_OES_depth24 GL_OES_depth32 GL_OES_draw_elements_base_vertex GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_border_clamp GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object GL_WEBGL_video_texture
Disabled Extensions
GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Disabled WebGL Extensions
Window system binding vendor
Google Inc. (NVIDIA)
Window system binding version
1.5 (ANGLE 2.1.32131 git hash: 03d0aaccdbb2)
Window system binding extensions
EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_stream_producer_d3d_texture EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_display_semaphore_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled EGL_ANDROID_blob_cache EGL_ANDROID_recordable EGL_ANGLE_image_d3d11_texture EGL_ANGLE_create_context_backwards_compatible EGL_KHR_no_config_context EGL_KHR_create_context_no_error EGL_KHR_reusable_sync
Direct rendering version
unknown
Reset notification strategy
0x8252
GPU process crash count
0
gfx::BufferFormats supported for allocation and texturing
R_8: not supported, R_16: not supported, RG_88: not supported, RG_1616: not supported, BGR_565: not supported, RGBA_4444: not supported, RGBX_8888: not supported, RGBA_8888: not supported, BGRX_8888: not supported, BGRA_1010102: not supported, RGBA_1010102: not supported, BGRA_8888: not supported, RGBA_F16: not supported, YVU_420: not supported, YUV_420_BIPLANAR: not supported, YUVA_420_TRIPLANAR: not supported, P010: not supported
Compositor Information
Tile Update Mode
One-copy
Partial Raster
Enabled
GpuMemoryBuffers Status
R_8
Software only
R_16
Software only
RG_88
Software only
RG_1616
Software only
BGR_565
Software only
RGBA_4444
Software only
RGBX_8888
GPU_READ, SCANOUT
RGBA_8888
GPU_READ, SCANOUT
BGRX_8888
Software only
BGRA_1010102
Software only
RGBA_1010102
Software only
BGRA_8888
Software only
RGBA_F16
Software only
YVU_420
Software only
YUV_420_BIPLANAR
Software only
YUVA_420_TRIPLANAR
Software only
P010
Software only
Media Foundation Rendering Capabilities
PlayReady Hardware DRM disabled
false
Direct Composition
true
Dolby Atmos support
false
AV1 installed
false
AV1 activable
false
AV1 version
Not Installed
HEVC installed
true
HEVC activable
true
Display:
Scaled: [0,0 2560x1440] Scale: 1.00 Actual: [0,0 2560x1440]
GPU Index
GPU0
HEVC - Dolby Vision support
false
HEVC - HDR10 support
false
HDCP 2.2 support
true
HEVC - 4K support
true
Display(s) Information
Info
Display[2528732444] bounds=[0,0 2560x1440], workarea=[0,0 2560x1392], scale=1, rotation=0, panel_rotation=0 external.
Color space (sRGB/no-alpha)
{primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
Buffer format (sRGB/no-alpha)
BGRX_8888
Color space (sRGB/alpha)
{primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
Buffer format (sRGB/alpha)
BGRA_8888
Color space (WCG/no-alpha)
{primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
Buffer format (WCG/no-alpha)
BGRX_8888
Color space (WCG/alpha)
{primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
Buffer format (WCG/alpha)
BGRA_8888
Color space (HDR/no-alpha)
{primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
Buffer format (HDR/no-alpha)
BGRX_8888
Color space (HDR/alpha)
{primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
Buffer format (HDR/alpha)
BGRA_8888
Color volume
{name:'srgb', r:[0.6400, 0.3300], g:[0.3000, 0.6000], b:[0.1500, 0.3300], w:[0.3127, 0.3290]}
SDR white level in nits
203
HDR relative maximum luminance
1
Bits per color component
8
Bits per pixel
24
Refresh Rate in Hz
165
Video Acceleration Information
Decoding
Decode h264 baseline
64x64 to 4096x4096 pixels
Decode h264 main
64x64 to 4096x4096 pixels
Decode h264 high
64x64 to 4096x4096 pixels
Decode vp9 profile0
64x64 to 8192x8192 pixels
Decode vp9 profile2
64x64 to 8192x8192 pixels
Decode hevc main
48x48 to 8192x8192 pixels
Decode hevc main 10
48x48 to 8192x8192 pixels
Decode hevc main still-picture
48x48 to 8192x8192 pixels
Encoding
Encode h264 baseline
32x32 to 1920x1088 pixels, and/or 30.000 fps.
Encode h264 baseline
32x32 to 1088x1920 pixels, and/or 30.000 fps.
Encode h264 main
32x32 to 1920x1088 pixels, and/or 30.000 fps.
Encode h264 main
32x32 to 1088x1920 pixels, and/or 30.000 fps.
Encode h264 high
32x32 to 1920x1088 pixels, and/or 30.000 fps.
Encode h264 high
32x32 to 1088x1920 pixels, and/or 30.000 fps.
Encode vp9 profile0
32x32 to 1920x1088 pixels, and/or 30.000 fps.
Encode vp9 profile0
32x32 to 1088x1920 pixels, and/or 30.000 fps.
Vulkan Information
Device Performance Information
Total Physical Memory (Gb)
31
Total Disk Space (Gb)
464
Hardware Concurrency
32
System Commit Limit (Gb)
40
D3D11 Feature Level
12_1
Has Discrete GPU
yes
Intel GPU Generation
12
Software Rendering
No
Diagnostics
0
b3DAccelerationEnabled
true
b3DAccelerationExists
true
bAGPEnabled
true
bAGPExistenceValid
true
bAGPExists
true
bCanRenderWindow
true
bDDAccelerationEnabled
true
bDX12UEnabled
true
bDriverBeta
false
bDriverDebug
false
bDriverSigned
false
bDriverSignedValid
false
bNoHardware
false
dwBpp
32
dwDDIVersion
12
dwHeight
1440
dwRefreshRate
165
dwWHQLLevel
0
dwWidth
2560
iAdapter
0
lDriverSize
770640
lMiniVddSize
0
szAGPStatusEnglish
Enabled
szAGPStatusLocalized
Enabled
szChipType
NVIDIA GeForce RTX 4090
szD3DStatusEnglish
Enabled
szD3DStatusLocalized
Enabled
szDACType
Integrated RAMDAC
szDDIVersionEnglish
12
szDDIVersionLocalized
12
szDDStatusEnglish
Enabled
szDDStatusLocalized
Enabled
szDX12UStatusEnglish
Enabled
szDX12UStatusLocalized
Enabled
szDXVAHDEnglish
Supported
szDXVAModes
szDescription
NVIDIA GeForce RTX 4090
szDeviceId
0x2684
szDeviceIdentifier
{D7B71E3E-65C4-11CF-B97B-0C710EC2D235}
szDeviceName
\\.\DISPLAY1
szDisplayMemoryEnglish
38896 MB
szDisplayMemoryLocalized
38896 MB
szDisplayModeEnglish
2560 x 1440 (32 bit) (165Hz)
szDisplayModeLocalized
2560 x 1440 (32 bit) (165Hz)
szDriverAssemblyVersion
31.0.15.3179
szDriverAttributes
Final Retail
szDriverDateEnglish
25/04/2023 2:00:00
szDriverDateLocalized
4/25/2023 02:00:00
szDriverLanguageEnglish
English
szDriverLanguageLocalized
English
szDriverModelEnglish
WDDM 3.1
szDriverModelLocalized
WDDM 3.1
szDriverName
C:\WINDOWS\System32\DriverStore\FileRepository\nvmdig.inf_amd64_29b69e720c94d54e\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvmdig.inf_amd64_29b69e720c94d54e\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvmdig.inf_amd64_29b69e720c94d54e\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvmdig.inf_amd64_29b69e720c94d54e\nvldumdx.dll
szDriverNodeStrongName
oem75.inf:0f066de37a9fb84d:Section031:31.0.15.3179:pci\ven_10de&dev_2684&subsys_51031462
szDriverSignDate
Unknown
szDriverVersion
31.00.0015.3179
szKeyDeviceID
Enum\PCI\VEN_10DE&DEV_2684&SUBSYS_51031462&REV_A1
szKeyDeviceKey
\Registry\Machine\System\CurrentControlSet\Control\Video\{FCF6AE56-F9B7-11ED-B082-F94179915A3A}\0000
szManufacturer
NVIDIA
szMiniVdd
unknown
szMiniVddDateEnglish
Unknown
szMiniVddDateLocalized
unknown
szMonitorMaxRes
Unknown
szMonitorName
Generic PnP Monitor
szNotesEnglish
No problems found.
szNotesLocalized
No problems found.
szOverlayEnglish
Not Supported
szRankOfInstalledDriver
00CF0001
szRegHelpText
Unknown
szRevision
Unknown
szRevisionId
0x00A1
szSubSysId
0x51031462
szTestResultD3D7English
Not run
szTestResultD3D7Localized
Not run
szTestResultD3D8English
Not run
szTestResultD3D8Localized
Not run
szTestResultD3D9English
Not run
szTestResultD3D9Localized
Not run
szTestResultDDEnglish
Not run
szTestResultDDLocalized
Not run
szVdd
unknown
szVendorId
0x10DE
1
b3DAccelerationEnabled
true
b3DAccelerationExists
true
bAGPEnabled
true
bAGPExistenceValid
false
bAGPExists
false
bCanRenderWindow
false
bDDAccelerationEnabled
true
bDX12UEnabled
false
bDriverBeta
false
bDriverDebug
false
bDriverSigned
false
bDriverSignedValid
false
bNoHardware
false
dwBpp
0
dwDDIVersion
12
dwHeight
0
dwRefreshRate
0
dwWHQLLevel
0
dwWidth
0
iAdapter
0
lDriverSize
4657616
lMiniVddSize
0
szAGPStatusEnglish
Enabled
szAGPStatusLocalized
Enabled
szChipType
Intel(R) UHD Graphics Family
szD3DStatusEnglish
Enabled
szD3DStatusLocalized
Enabled
szDACType
Internal
szDDIVersionEnglish
12
szDDIVersionLocalized
12
szDDStatusEnglish
Enabled
szDDStatusLocalized
Enabled
szDX12UStatusEnglish
Disabled
szDX12UStatusLocalized
Disabled
szDXVAHDEnglish
Unknown
szDXVAModes
Unknown
szDescription
Intel(R) UHD Graphics 770
szDeviceId
0xA780
szDeviceIdentifier
Unknown
szDeviceName
Unknown
szDisplayMemoryEnglish
16398 MB
szDisplayMemoryLocalized
16398 MB
szDisplayModeEnglish
Unknown
szDisplayModeLocalized
unknown
szDriverAssemblyVersion
31.0.101.4338
szDriverAttributes
Final Retail
szDriverDateEnglish
12/05/2023 2:00:00
szDriverDateLocalized
5/12/2023 02:00:00
szDriverLanguageEnglish
English
szDriverLanguageLocalized
English
szDriverModelEnglish
WDDM 3.1
szDriverModelLocalized
WDDM 3.1
szDriverName
<>,C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_24b2c8ff241ae0d8\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_24b2c8ff241ae0d8\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_24b2c8ff241ae0d8\igd12umd64.dll
szDriverNodeStrongName
oem57.inf:5f63e534dba4d0ff:iRPLSD_w10_DS:31.0.101.4338:PCI\VEN_8086&DEV_A780
szDriverSignDate
Unknown
szDriverVersion
31.00.0101.4338
szKeyDeviceID
Enum\PCI\VEN_8086&DEV_A780&SUBSYS_7D911462&REV_04
szKeyDeviceKey
Unknown
szManufacturer
Intel Corporation
szMiniVdd
unknown
szMiniVddDateEnglish
Unknown
szMiniVddDateLocalized
unknown
szMonitorMaxRes
Unknown
szMonitorName
Unknown
szNotesEnglish
No problems found.
szNotesLocalized
No problems found.
szOverlayEnglish
Unknown
szRankOfInstalledDriver
00CF2001
szRegHelpText
Unknown
szRevision
Unknown
szRevisionId
0x0004
szSubSysId
0x7D911462
szTestResultD3D7English
Not run
szTestResultD3D7Localized
Not run
szTestResultD3D8English
Not run
szTestResultD3D8Localized
Not run
szTestResultD3D9English
Not run
szTestResultD3D9Localized
Not run
szTestResultDDEnglish
Not run
szTestResultDDLocalized
Not run
szVdd
unknown
szVendorId
0x8086
Log Messages
[20512:19952:0526/193716.628:VERBOSE1:video_capture_oracle.cc(91)] : Capture size auto-throttling is now enabled.
[20512:19952:0526/193716.628:VERBOSE1:capture_resolution_chooser.cc(205)] : Recomputed snapped frame sizes: 504x262
[20512:19952:0526/193716.628:VERBOSE1:capture_resolution_chooser.cc(157)] : Recomputed capture size from 640x360 to 504x262 (100% of ideal size)
[20512:19952:0526/193716.628:VERBOSE1:video_capture_oracle.cc(120)] : Capture size auto-throttling is now disabled.
[20512:19952:0526/193716.628:VERBOSE1:capture_resolution_chooser.cc(205)] : Recomputed snapped frame sizes: 504x262
GpuProcessHost: The info collection GPU process exited normally. Everything is okay.