I am currently on a Windows 7 x64 machine, usingusing a relatively high end GPU (GTX 970 4GB4 GB). Windows Aero is enabled.I I am using process explorerProcess Explorer to examine this case.
I have two csrss.execsrss.exe
processes running, both as SYSTEM, runningone under session 0 and 1 respectivelyone under session 1. I have csrss.execsrss.exe
files, both in the correct directories. Using process explorerProcess Explorer, I can see my gpuGPU is being used only by CSRSS.EXEcsrss.exe
. the The session 1 csrss.execsrss.exe
is using it. Closer examination of the processesprocess’s threads reveals these .dll.dll
files.:
Cdd.dll -– the canonical display driver is particularly important here, as described below in some helpful info below a kind user was able to provide for me.
Under DWM, GDI calls are redirected to use the Canonical Display Driver (cdd.dll), a software renderer. So perhaps it's something in csrss.exe actually redirecting calls to cdd.dll. Confirmed further by going back to the first Wikipedia article: instead of issuing a system call, the Win32 libraries (kernel32.dll, user32.dll, gdi32.dll) send an inter-process call to the CSRSS process which does most of the actual work without compromising the kernel. So application calls to gdi32.dll (which would be anything that renders any Windows GUI component like buttons, scrollbars, text, etc.) end up making their way to csrss.exe via IPC, which csrss.exe redirects to cdd.dll.
So dwmperhaps it's something in csrss.exe
actually redirecting calls to cdd.dll
.exe Confirmed further by going back to the first Wikipedia article:
instead of issuing a system call, the Win32 libraries (kernel32.dll, user32.dll, gdi32.dll) send an inter-process call to the CSRSS process which does most of the actual work without compromising the kernel.
So application calls to gdi32.dll
(which would be anything that renders any Windows GUI component like buttons, scrollbars, text, etc.) end up making their way to csrss.exe
via IPC, which csrss.exe
redirects to cdd.dll
.
So dwm.exe
, which I would have presumed would have been using the gpuGPU, is instead someway showing through csrss.execsrss.exe
.
So that at least explains the story partly. When idle at the desktop, gpuGPU usage is > 0 0.01%. However, if I interact with certain uiUI elements of a program, for example hovering over the gpuGPU graphs to bring up stock-like windows uiUI, or hovering over parts of Steams UI (Steamworks is a video game drm client) the gpuGPU usage for csrss.execsrss.exe
rises, maybe a few percent, and depending on what is going on, such as rapidly hovering over process explorerProcess Explorer graphs, it can go to 15-20%.
I selected the csrss.execsrss.exe
process in question and pressed ctrl + hCtrl+H. I found threads related to procexp64.exeprocexp64.exe
, steamwebhelper.exesteamwebhelper.exe
(displays web apiAPI for steam.exesteam.exe
, which is also under this csrss.execsrss.exe
), explorer.exeexplorer.exe
, dwm.exedwm.exe
, and anything that seemed that would create windows/stock uiUI elements.
I tried safe modeSafe Mode and creating a new standard user account, but the same activity occurs.
My question is, is this activity normal? Csrss.exe seems to increase its cycle delta when moving the mouse, and when I hover over auch ui. Is the reason hovering over certain aero elements, oror programs like steam that may use certain windows elements causing gunGPU usage to rise under csrss.execsrss.exe
because that is the process calling cdd.dllcdd.dll
? As I said, on idle gpuGPU usage is negligible, whichwhich I guess confirms no malicious activity. I suffer no performance issues running high end games with aeroAero enabled, but imI’m wondering if this is normal activity for a high end machine.
Should csrss.execsrss.exe
be using the gpuGPU like this when calling on things
Like cdd.dlllike cdd.dll
and winsrv.dllwinsrv.dll
?
I5 3570k
GTX 970 4GBSpecs:
8GB RAM
- I5 3570k
- GTX 970 4 GB
- 8 GB RAM
- Windows 7, 64-bit