gutch wrote:I suspect that a flaw in The Sims 3 code is causing the graphics card to work harder than it should. I can't prove that, but now that I have logs showing that The Sims 3 overheats, and only The Sims 3 overheats, it seems likely...
(edit: fixed double-spacing issue)
I feel your pain.

However, this is (most likely) not a flaw in the Sims 3 code, but actually a really terrible, awful design decision made by ATI/AMD for this series of cards, the implementation of that decision in the cards' BIOS, and a driver that pleasantly ignores the issue alongside.
I have resolved this issue on my machine; if you can stomach my lengthy posts, read on for what I did.
Here is a brief yet somewhat technical explanation of what is most likely happening (at least, it was happening for me on my machine):
The Sims 3 is a DirectX 9 game -- while gorgeous compared to Sims 2, it's really not taking advantage of any bleeding-edge graphical techniques (which require DirectX 10). In fact, the Sims 3 is a very easy game for a card like the 4870 or 4870x2 to run.
Which is exactly the problem. ATI has implemented a feature called PowerPlay on this line of cards that sounds logical on paper and, indeed, could have been implemented logically in code -- but they failed to do so, utterly.
PowerPlay is designed to take a look at what your card is doing, and if it's not working hard, lower the graphics clock and memory frequencies to between 60-66% of stock frequencies (507/500 vs. the stock frequencies of 750/900). When the card does start to work hard, it increases those frequencies back up to their stock values (or the values you've set in the Catalyst Control Panel).
PowerPlay surveys your card 1-3 times per second, and adjusts the frequencies accordingly.
However, with games that don't work the graphics card too hard (or if there is some other condition in your system causing PowerPlay to think your card isn't working too hard -- which is what happened to me, but it's out of scope of this post), PowerPlay can get into a condition where it's CONSTANTLY adjusting your clock frequencies up and down and up and down and up and down -- again, up to 1-3 times per second.
This frequent adjustment gets to be too much for the card and, yes, it overheats -- or the operating system throws up its hands in disgust and gives you a BSOD -- or you suffer a hard lockup, or a hard reboot... Anything can happen.
So PowerPlay needs to be disabled. Fortunately, the one good thing about the Catalyst Control Center is that it supports the notion of "profiles," so we can create a profile to ENABLE powerplay (for when you're doing non-3D work with your computer) and another to DISABLE powerplay (for when you're playing 3D games). You simply must switch between them before and after you play.
Here's how:
(Note that I'm assuming your Windows drive is Drive C for the purpose of these instructions, AND that you are running the latest version of the ATI Catalyst Control Center and drivers -- v9.5 as of this writing)
First, go to the following directory with Windows Explorer:
C:\Documents and Settings\[Your user name]\Local Settings\Application Data\ATI\ACE
If you are running Vista and you get "Access denied" messages trying to do that, go to this directory instead:
C:\Users\[Your user name]\AppData\Local\ATI\ACE
Now, open the Catalyst Control Center (right click on desktop, select it from the menu). Make sure you are looking at the ADVANCED view.
Click the "ATI Overdrive" item in the list to the left.
Make sure that Overdrive is unlocked (click the little key button if it's there).
Now, click the arrow next to "Profiles" at the top of the window, and click "Profiles Manager."
Type a name for your "PowerPlay ENABLED" profile (used when you are NOT playing games) in the drop down box. Make sure that in the Composition tab, the "the following settings" item is selected, and in the treeview list below, your graphics card is checked and beneath it, only the "ATI Overdrive" checkbox is checked.
Click the Save button.
Now, type the name for your "Powerplay DISABLED" (used for playing 3D games) profile in the drop down box, and click the Save button again. Leave this window open, but go back to Windows Explorer.
There should now be a Profiles folder in the directory to which we browsed above. Open it. There should be two XML files here, each named exactly what you named your profiles.
We will be leaving the "PowerPlay ENABLED" profile alone -- it's already set up exactly as it should be with all of the default settings for your card. You may wish to make a backup of this file, as you can always use it to restore your card to its default settings if you fear you've made a mistake.
Open the "Powerplay DISABLED" (3D games) profile in Notepad. Make the following changes.
NOTE: THE FOLLOWING SETTINGS ARE *ONLY* VALID FOR ATI RADEON HD 4870 GPUs. OTHER ATI GPUs REQUIRE OTHER SETTINGS. NVIDIA/INTEL GPUs ARE COMPLETELY OUT OF SCOPE OF THIS POST AND CANNOT BENEFIT. MAKE SURE TO READ YOUR GPU SPECIFICATIONS TO ENSURE THAT YOU ARE NOT SETTING YOUR FREQUENCIES HIGHER THAN YOUR GPU SUPPORTS.
Save the file in Notepad and exit. Right-click the file, click Properties, and click the "Read-Only" checkbox at the bottom. Click OK.
You may now close the Profile Manager window.
From now on, whenever you want to play a 3D game, open the Catalyst Control Center, click the arrow next to Profiles at the top, and select your "Disable PowerPlay" profile (whatever you named it). Similarly, when you're finished, select the "Enable PowerPlay" profile.
When you use the "Disable PowerPlay" (3D games) profile, you will see that the sliders change values, the temperature may increase slightly, the fan speed will increase (in fact you may hear your computer make a louder noise when you select the profile -- that's your video card fan spinning up to a higher rate), and the "GPU Clock" and "Memory Clock" values will increase. That's all perfectly normal. They will readjust to their former values when you re-enable PowerPlay with the "Enable PowerPlay" profile.
That's it -- read on for some additional modifications you could make to the XML file:
If your computer runs particularly hot (you can see the temperature of your graphics card processor(s) in the Catalyst Control Center's ATI Overdrive tab -- temperature, activity, and fan speed), you may wish to adjust the Fan Speed specified in the XML file. It's currently set to 50% -- you may adjust the value to anything from 20-100 (it's in the "FanSpeedPercentTarget_0" and "FanSpeedPercentTarget_1" sections of the XML file -- make sure to adjust BOTH numbers!).
Typically, you'll want to keep your temperatures down under 80-85 C. ATI advertises that these cards are stable up to 100 C, but I would take that with a grain of salt.
Also, the settings above for GPU and memory clocks are stock settings for the Radeon 4870 line. If you have the knowledge/cooling to overclock, you may feel free -- the numbers in the XML file are (for some reason) given in KHz (more likely it's a fixed-point data structure for MHz in which the final two digits appear after the decimal point, but the two are functionally equivalent). Just make sure that the Want_0 and Want_1 values are the same for all sections (that's the figures PowerPlay bounces between).
Good luck!!
-Birdbeast