gdjacobs wrote:I was thinking of it as a compatibility problem with AMD's power management scheme, but I think that's minor semantics.
But there isn't.
There's nothing 'incompatible'. AMD just turns down the clockspeeds so far that the system becomes sluggish.
The OS has no control over this, as I already said. The OS merely facilitates power management. How the hardware does that exactly, which components can be downclocked, turned off or otherwise managed, and to what degree, and what effect this may or may not have on the user experience, is completely outside of the control of the OS.
The OS merely provides the user with some sliders to apply certain levels of power management, in various scenarios (eg plugged-in and battery-powered).
If an IHV, OEM or user wants to shoot themselves in the foot with that, then they can. Heck, some people may actually *want* it that way, have you ever thought about that? It's not up to MS to decide what you can and cannot do with these power settings. Perhaps some people WANT to turn the power management up to the maximum, because they use their machines in ways we haven't even thought of yet (as in, not using the GUI at all, or at least not enough to be bothered by the performance).
I personally would be fundamentally against MS putting limits on this sort of thing.
gdjacobs wrote:I would agree with you if OEMs and institutional customers with their own support teams were the only people who bought Windows. Even outside of support contracts and tier one vendor relationships, Microsoft does provide some limited support for their users. As long as it's not too expensive, it's probably worth it from a public relations standpoint.
But what do you disagree with then? MS indeed offers support to people who buy a retail version of Vista to upgrade their older PCs.
But it's still at their own peril. If they use hardware that is not 'Designed for Vista', Microsoft is not obliged to 'make it work'. They 'made it work' on all hardware that is 'Designed for Vista', so it is relatively easy for end-users to find out whether or not it is a good idea to upgrade to Vista.
For example, in my case, I was still using an old Terratec EWX24/96 sound card. I knew that was going to be a problem when upgrading to Vista x64 (in fact, it wasn't even supported in XP, but in XP I could still load the 2k driver at my own peril, for x64 there was no hope).
So when I upgraded, I simply bought a new audio interface to take care of that, paying attention to make sure I got one that had Vista x64 support.
Are you saying I should just have demanded that MS pay for my audio interface, because I had to upgrade it in order to use it with Vista x64?
It doesn't work that way.
You get support for *supported hardware*, nothing more.
In the case of power management, if you were to call MS support, you would likely just be advised to change the system settings, as mentioned before. There's nothing more MS can do. AMD is the one that could do more about it: remove nonsensical power settings from the driver.
But they won't do that, because their hardware was already considerably more powerhungry than Intel's mobile solutions. In fact, that's probably the reason why they chose those super-aggressive settings in the first place: to appear more competitive with Intel in the mobile market.
gdjacobs wrote:Let me rephrase the situation more clearly for you. Their application, a user interface and display subsystem called Aero, requires hardware such as what is provided by the RS690 chipset, but an issue with power management on that chipset causes performance problems when some laptops with the chipset installed enter power save mode.
If this were a game title, office application, paint program, CAD program, etc, etc, etc, a solution would almost certainly feature participation from the application developers. First, because it's in their interest to keep the user base happy and the application performant. Second, because they're most knowledgeable of what's going on with their own software. Lastly, because it's possible a fix is easiest and cleanest to implement on the application side.
But that does not apply here, as I said a million times already: AMD simply chose nonsensical settings in their driver. There is nothing 'broken' in the first place.
gdjacobs wrote:I suppose it's also possible MS pressured AMD or HP to fix this problem and neither followed through, but that still wouldn't preclude publishing information on MSDN or similar on how to reduce Aero's GPU demand.
MS already took care of that:
1) Vista includes a system test which gives you index numbers on how various components in your system perform. This also includes Aero performance
2) Based on these tests, Vista gives you recommendations, which include upgrading your GPU and turning down the visual options in the GUI.
In fact, Intel's installer always re-runs this test (WinSAT) after each installation of the video driver, and based on the results, it decides whether or not Aero will be enabled on your PC (there's a checkbox in the installer to skip this part).
Question is: why didn't AMD provide such a solution?
gdjacobs wrote:I'm not even convinced it's a driver issue so much as a difference in memory architecture which causes the problem.
It's always a driver issue.
I don't think there's a 'difference in memory architecture', since the GM965 also has a dual channel controller, shared by the CPU and GPU, and I don't think it can change the clockspeed based on which of the two components accesses it either. In fact, I don't think any APU with shared memory is capable of this. It pretty much breaks the idea of shared memory: you'd have to dedicate a pool of memory to either the CPU or GPU in order to run that pool at a specific speed. That's just not how shared memory works. The memory pool is dynamically sized based on the GPU demands.
It's the driver that chooses when to change the clockspeeds, and by how much. So it was AMD's driver that decided to turn the power savings up to 11.
gdjacobs wrote:Agreed, Microsoft shouldn't be in the business of writing hardware drivers. Neither should game developers. That doesn't mean they have no business contributing to fixing problems that might arise with their applications running on someone else's hardware.
It's a deliberate choice made by AMD, which can be overridden by the user. End of story.