Thursday, 1 August 2013

Logitech Gaming Software, meet nVidia GeForce hardware

This may also affect AMD and even Intel users (if this affects integrated graphics which is sharing a power budget with your CPU then it'll be making your desktop less responsive rather than just wasting power making your PC louder and hotter than it needs to be) but I'm describing it as it happens on my system. My Google-fu didn't throw up someone complaining about it so hopefully this'll get search engine tagged for other to find (as the chances of bug reports sent to the companies involved ever getting acted upon is ~0%); if you use Logitech Gaming Software (currently version 8.46.27) with a modern nVidia GeForce GPU (current drivers are 320.49) then your computer may be running too hot when at the desktop and so wasting power and generating unwanted heat.

With modern GPUs the dynamic clock speed and power use of the card can vary quite dramatically. The GTX760 I have here clocks down to 135MHz core and 650MHz RAM when idle at the desktop. The base GPU clock (before it uses boost bins to get to 1.2GHz when extra power and thermals allow) is 1072MHz and the RAM clocks to 7GHz when called to offer fast 3D performance. As you can imagine, that extra power comes with extra energy use and that means the fans crank up to make the system louder, the electricity bills go up ever so slightly, and everything runs warmer than it maybe needs to be in desktop mode.
Enable Enhanced Graphics
The problem with using the Logitech mouse drivers (to set fast updates down the USB cable, sensor DPI, and assign extra buttons to what you want if a game can't see the buttons with their default assignment) is the default setting to the right (which starts out selected) to hardware accelerate the interface. At least with my more recent nVidia GPU and the current GeForce drivers then this option to use hardware acceleration seems to always bind and request resources to render the UI, even when the window is closed and only the notification icon remains. To render the picture of a mouse, the Logitech software seems to hook into the nVidia driver (possibly asking for an OpenGL accelerated surface, maybe it is Direct3D) and this fools the driver into thinking it is being asked to render something for a game. That nice low idle rate (more than enough grunt to render the Aero Windows interface with the limited GPU acceleration Windows asks of a card for this mainly 2D work) is disabled as the card clocks up to full RAM speed and full base clock on the GPU, North of 1GHz. Possibly the Logitech software is failing to put a framerate cap on the surface it calls so is actually thrashing the card to redraw the mouse over and over or maybe the nVidia setting for idling at low power only gets maintained when the only work it is being asked to do is things it knows Windows asks for. Either way, this is not software, drivers, and hardware working together as intended.

Disabling this option seems to fix everything. The Logitech driver falls back on drawing a few textures to the window with standard Windows UI API calls and the nVidia driver goes back to thinking it is just sitting at the desktop and no games are asking for an accelerated surface that means it need to clock up and render as many frames as possible. The GPU and RAM are clocked down at almost 10% frequency and the fan goes back to the lowest speed (an almost inaudible 30%).

If you're running a graphics card from the last few years (even a 4 year old card will clock down somewhat but in recent years AMD and nVidia have really pushed to get lower idling speeds which use very little power on the desktop) and have some Logitech peripherals that mean you run their Logitech Gaming Software then I strongly recommend you disable this hardware acceleration setting for peace of mind.