Windows 10 Poor Graphics Performance – Part Deux


Things were running great with my new machine a Lenovo W541 until recently.  When browsing email in Outlook it would take several seconds to collapse/expand folders and when selecting an email to read it took several seconds to render the view.  Highly frustrating.

As noted in a previous post and a semi-related one related to Outlook displaying corrupted information, one of the first things to review is the video drivers installed and to ensure that they are *ALL* updated.  Note that I said all.  In most modern systems likely you will find that there will be two display controllers.  Typically one will be built into the CPU and the other a discrete display controller.  Yes, this is a generalisation and some systems will have only one, and other systems may have three.  Just update them all.

In the case of this W541 there are two controllers.  An Intel HD Graphics 4600 and a separate NVIDIA Quadro K100M.

Windows 10 Device Manager Showing Multiple Display Adapters

The driver for the NVIDIA Quadro was updated – no change in performance.  The driver for the Intel display adapter must be supplied by the hardware vendor, it was not possible to update using the latest generic Intel one.   The latest driver was already installed, so no upgrade possible there.  For good measure I verified that there were no other hardware updates.  None were available.

Disabling the hardware acceleration in Outlook, and restarting Outlook also made no difference.

Some head scratching then ensued.    Thinking about the sleepy NIC issue in Exchange, made me think about my laptop’s Power Plan.  My Power Plan is constantly being changed when I’m on an airplane to save tripping the seat breaker (again!) and also when working from battery.  Let’s kick that badboy into high performance mode and see what that does..

Boom!

Outlook became responsive and video performance was again back to normal.

Interestingly enough after manually changing the Power Plan once to High performance the original performance issue has not (yet) reoccurred, even if the Power Plan changes to one of the other ones on my system.

Reviewing Available Power Plans

What Power Plans do I actually have, and what is going on?

Using powercfg.exe /List we can see all of the available Power Plans.   Note the asterisk in the output, that shows the currently active one.

powercfg.exe /List  Showing Power Plans

Existing Power Schemes (* Active)
-----------------------------------
Power Scheme GUID: 0401aceb-2006-4c03-833b-ba52d3c02632  (Timers off (Presentation))
Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (Balanced)
Power Scheme GUID: 6c2cd403-2121-4e8c-963a-6b1b47fed8a9  (Airplane)
Power Scheme GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c  (High performance)
Power Scheme GUID: a1841308-3541-4fab-bc81-f71556f20b4a  (Power saver)
Power Scheme GUID: db310065-829b-4671-9647-2261c00e86ef  (Microsoft IT Customized Peak Plan (Laptop)) *

 

Hmm.  Did I not set that to High Performance?  Yes I did. Lets have a look at the state transitions.  We can get that in a few ways.  Classical event viewer shows the following in the system event log.  Note that a filter is set to only show the UserModePowerService events.

Checking Power Plan Changes Using EventViewer

 

PowerShell makes it a little easier to see some of the details behind these events.  But note that the source used has a different name.

Get-EventLog -LogName system  | Where {$_.Source -eq "Microsoft-Windows-UserModePowerService"}

Checking Power Plan Changes Using PowerShell

In the above image, we can see the machine is constantly doing something with the Power Plan.  Also of note, in the highlighted areas there are multiple sources of these changes.  Some are from explorer.exe, gfxv4_0.exe, WmiPrvSE.exe and rundll32.exe.

 

This morning is the 9th of May, and I did not manually make any changes so there is mostly likely a GPO or GPP that is set to adjust to the power saving Power Plan.

 

Cheers,

Rhoderick

Comments (1)

  1. I liked the french part of this article 🙂

Skip to main content