- Mar 15, 2007
- 4,762
- 0
- 76
I have crappy Windows Aero performance with my 2 x7970's. Lots of people have suggested many things but nothing helps. I recently determined there was a warning being reported in the event logs about Windows performance. You can check if you are also getting the same events by going to control panel>administrative tools>event viewer and then in there use the menu Applications and Services>Microsoft>Windows>Diagnostics-Performance>Operational. The event details I see as XML are as follows:
Based on this event I get some Op codes and this and another event convert into the following:
Video Memory Responsiveness
Video Memory Degradation
This gave me an idea as to how I could perhaps test to see if one card was a problem. SiSoft Sandra has a GPU memory bandwidth test tool so I decided I would run that and potentially gain some insight. I expected to see perhaps one card outperforming the other pointing to a hardware related problem, something I could clearly RMA or perhaps I would just learn nothing. I did however learn everything I need to know about the problem to accurately diagnose its cause:
- What happens is if I run both cards together in the test I get the result I am expecting, its twice the bandwidth of a single card and the test is as expected.
- If I run the test against the first card all is normal, bandwidth is ~half of the dual card test.
- When I run the test on the second card the bandwidth figures are very similar to the first card and show no performance problems. However something else happens during the benchmark. All the performance problems I have in Windows disappear for a few seconds while the test is running. I can move windows normally, the mouse stops lagging and jumping around and everything is smooth as its meant to be. Then all of a sudden it hits a phase in the test and the mouse starts jumping centimetres across the screen, Window lag is at least 1 second behind the motion made to move it. Then the test ends and it all returns to the usual poor performance.
Yet in all this GPU-Z shows the GPU memory speed to be the same, GPU load to be zero and thus the running of the test should not impact anything. I now believe that GPU-Z and MSI Afterburner I being lied to by the drivers. There is some power saving going on with the second card that is not being reported, and its this power saving on the second card causing my issue. ULPS is off and I have forced the card awake by using MSI Afterburners alternative overclocking mode. There is no clearer pointer to it being related to the second card and more to the point that it is clearly power saving related as it should perform worse when the card is under extreme load not better. It is crossfire related and its certainly software driver related, specifically power saving in Windows rendering mode.
AMD and their crappy drivers are now quite evidently at fault. I have reported this to AMD but having given them months to fix it they wont even acknowledge there is a problem so I decided to make the knowledge of this problem more public. This is a massive performance problem in Windows Aero and every user will suffer from it. Not everyone will notice as its input latency related and causes about 250ms of additional latency and a low frame rate. Its a direct performance problem and it'll only happen when using crossfire.
AMD's supported couldn't have behaved worse in the tracking of this problem down, they did nothing but hinder me making progress by making me test pointless things that clearly weren't the problem. They asked me to test the same thing 4-5 times. Its taken me 5 months off and on to finally diagnose the direct cause of it and find a (all be it very temporary) workaround. AMD you need to fix that support team, its staffed by morons.
Now I have finally found the cause of the fault I can safely move to NVidia and get a working windows Aero again without it running at about 5 FPS.
Code:
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="Microsoft-Windows-Diagnostics-Performance" Guid="{CFC18EC0-96B1-4EBA-961B-622CAEE05B0A}" />
<EventID>500</EventID>
<Version>1</Version>
<Level>3</Level>
<Task>4006</Task>
<Opcode>39</Opcode>
<Keywords>0x8000000000010000</Keywords>
<TimeCreated SystemTime="2012-06-08T18:39:32.188063700Z" />
<EventRecordID>1451</EventRecordID>
<Correlation ActivityID="{02F04A90-F800-000A-E311-F1659D45CD01}" />
<Execution ProcessID="1156" ThreadID="5112" />
<Channel>Microsoft-Windows-Diagnostics-Performance/Operational</Channel>
<Computer>XXXX-PC</Computer>
<Security UserID="S-1-5-19" />
</System>
- <EventData>
<Data Name="DisplayDeviceFriendlyNameLength">26</Data>
<Data Name="DisplayDeviceFriendlyName">AMD Radeon HD 7900 Series</Data>
<Data Name="MemoryBandwidth">86872300</Data>
<Data Name="MemorySize">1765773312</Data>
<Data Name="Scenario">3</Data>
</EventData>
</Event>
Based on this event I get some Op codes and this and another event convert into the following:
Video Memory Responsiveness
Video Memory Degradation
This gave me an idea as to how I could perhaps test to see if one card was a problem. SiSoft Sandra has a GPU memory bandwidth test tool so I decided I would run that and potentially gain some insight. I expected to see perhaps one card outperforming the other pointing to a hardware related problem, something I could clearly RMA or perhaps I would just learn nothing. I did however learn everything I need to know about the problem to accurately diagnose its cause:
- What happens is if I run both cards together in the test I get the result I am expecting, its twice the bandwidth of a single card and the test is as expected.
- If I run the test against the first card all is normal, bandwidth is ~half of the dual card test.
- When I run the test on the second card the bandwidth figures are very similar to the first card and show no performance problems. However something else happens during the benchmark. All the performance problems I have in Windows disappear for a few seconds while the test is running. I can move windows normally, the mouse stops lagging and jumping around and everything is smooth as its meant to be. Then all of a sudden it hits a phase in the test and the mouse starts jumping centimetres across the screen, Window lag is at least 1 second behind the motion made to move it. Then the test ends and it all returns to the usual poor performance.
Yet in all this GPU-Z shows the GPU memory speed to be the same, GPU load to be zero and thus the running of the test should not impact anything. I now believe that GPU-Z and MSI Afterburner I being lied to by the drivers. There is some power saving going on with the second card that is not being reported, and its this power saving on the second card causing my issue. ULPS is off and I have forced the card awake by using MSI Afterburners alternative overclocking mode. There is no clearer pointer to it being related to the second card and more to the point that it is clearly power saving related as it should perform worse when the card is under extreme load not better. It is crossfire related and its certainly software driver related, specifically power saving in Windows rendering mode.
AMD and their crappy drivers are now quite evidently at fault. I have reported this to AMD but having given them months to fix it they wont even acknowledge there is a problem so I decided to make the knowledge of this problem more public. This is a massive performance problem in Windows Aero and every user will suffer from it. Not everyone will notice as its input latency related and causes about 250ms of additional latency and a low frame rate. Its a direct performance problem and it'll only happen when using crossfire.
AMD's supported couldn't have behaved worse in the tracking of this problem down, they did nothing but hinder me making progress by making me test pointless things that clearly weren't the problem. They asked me to test the same thing 4-5 times. Its taken me 5 months off and on to finally diagnose the direct cause of it and find a (all be it very temporary) workaround. AMD you need to fix that support team, its staffed by morons.
Now I have finally found the cause of the fault I can safely move to NVidia and get a working windows Aero again without it running at about 5 FPS.