I noticed that this was only happening with WoW and that nothing else ever on my computer in the past 6 months has ever caused a BSOD. HELL I have never even had my computer shut off or freeze or anything, it's pretty much flawless. Yet WOW managed to BSOD me and continue to crash itself with random 10-12 hour intervals of occurrence.
So basically just read this post and limit your fps in background and foreground to about 60 fps and turn up your GPU fan.
This is a repost from the Mac Tech Support forum sticky, brought here because this issue affects all computers, not just Macs.
This is a Public Service Announcement to inform the Mac and PC users of what appears to be a fundamental change in client behaviour regarding the maxFPS and maxFPSbk settings.
In previous versions of the client, if your video card just couldn't muster that juicy 60 FPS no matter what, having the FPS limiter (maxFPS; maxFPSbk) turned off (set to zero) would at least let you eek out as much as you could from your card. The GPU wouldn't run at 100% because it was behaving properly (idling) when it couldn't do anything in a given cycle.
The 5.0.4 client appears to have changed how this works. In 5.0.4 it appears that if you do not cap your FPS, usually to your display's maximum refresh rate, the GPU will no longer idle, but continue working at full load even though it isn't producing any higher framerates.
This has a very detrimental effect: heat.
You see, when a CPU or GPU is incapable of performing any additional action/rendering beyond what it can pull in any given environment, it usually idles to save power. In WoW's case, being that the game client is more CPU bound than GPU bound, that means your FPS is typically primarily dictated by your CPU's core speed and bus speed (and sometimes RAM speed). The more modern the CPU and/or faster it is, the higher your framerate gets.
But now it seems that the Mac client (and possibly PC client too) are somehow causing the GPU to never idle if the FPS is not capped. Here's an example from my system:
I have a Mac Pro 1,1, which has two 2.66 GHz Xeon 5150 CPUs, each with two cores. In the Cataclysm client (4.x), I had my FPS limiter set to zero because other than the old Azeroth zones, I didn't get much more than about 40-45 FPS because my CPU wasn't ultra fast and didn't have a modern bus architecture. I didn't need to limit my FPS because it never got uber high except in a cave or house, or a few dungeons (and certainly never in raids). So I had the FPS limiter turned off and VSync turned on (to prevent tearing).
Fast forward to 5.0.4's launch. My framerates didn't change, nor did any of my settings. My FPS was still not limited and VSync was still enabled. However, I noticed that my Mac Pro's chassis got remarkably hot to the touch around the PCI Expansion Bay. So I opened Hardware Monitor and saw something that shouldn't have been: GPU Load - 100%. It was 100% at the login screen. It was 100% at the character select screen. It was even 100% around Dalaran, where I usually get only 20-30 FPS tops no matter what. And I was still getting only 20-30 FPS there.
So I went through my config.wtf file's settings and one by one eliminated the settings lines after each launch until I found what was causing my GPU to cook itself. Even though my framerates didn't change (because my settings didn't change), the GPU was now heating up in short order. All that changed was how the GPU operated when the WoW client was open. It no longer had any idle cycles. With the FPS limiter turned off, the client was telling the GPU to run as fast as possible, even if it didn't produce more frames per second, and what that amounted to was nothing but extra heat being generated. A lot of heat.
So why am I explaining all of this to you here? So you can prevent the untimely demise of your computer's video card/GPU.
So the old client let your graphics card processor idle when there wasn't enough data to feed to it (i.e. couldn't muster high framerates because of the CPU bottleneck). This client does not do so, and in turn, if you fail to limit your FPS, you could very well cook your computer into an early grave.
So the moral of the story is that as of this client version, under no circumstances should you leave your FPS uncapped. It should be set at the most to your display's maximum refresh rate. Doing so causes the client to allow your GPU to idle when it isn't actively receiving data through the bus instead of burning itself out.
To limit your framerate, you can do one of two things:
In the game, from either the login screen or the in-game world do the following:
From the Login Screen:
1) Click the System button.
2) Click the Advanced menu option.
3) Tick the checkboxes for both the Max Foreground FPS and Max Background FPS options.
4) Adjust the slider to your desired position. For LCD owners, this would be putting the slider marker directly under the letter o in the word Background and directly underneath the second o in the word Foreground. Both markers should align with each other if you want as close to 60 FPS as possible using just the sliders.
From the in-game ESC menu
Follow the instructions as listed above for the Login Screen (the buttons are all the same).
Open your config.wtf file, located in the /World of Warcraft/WTF/ folder and make sure the following lines are present:
SET maxFPS "60"
SET maxFPSbk "60"
You can (and should) adjust these to lower values if your video card cannot normally handle that high of a framerate naturally.
For laptops and some lesser powered iMacs, it is advisable not to exceed a value of 30 for either of these settings unless you have absolutely awesome cooling available for your computer.
So to recap, as of 5.0.4 failure to limit your framerates will cause your graphics card to never idle, potentially causing it to overheat and/or burn out.
Play it safe and cap your FPS!