Alright, I just finished my slew of tests and research and all I bring is bad news. The surface isn't throttling because of temperature directly, as in it being cut when it hits a certain degree C. Whats happening here is TDP throttling. The i7 Surface pro
has a 15W TDP rated processor, but all that means is that it'll use around 15W TDP in
average situations. However, Intel gives manufactures the ability to add their own TDP "levels" to the hardware to enforce temperature control. Thats exactly what we're seeing here. The Surface Pro 3 i7 has two
TDP levels, level 1 at 11W and level 2 at 25W. Under "average situations" the surface will be fine with its 25W TDP as it will never have to jump above 10 or so for more than a few seconds, again in "average situations". Even stressing the processor to 100%,
bringing it to 2.3GHz uses around 13W TDP, not enough to worry the Surface into any throttling yet.
However, you add the GPU into that and it jumps up to 17.5W TDP. The surface will maintain this for only a short while before starting to cut down on that number, even if the device is within acceptable temperatures. It doesn't care, it just wants to lower
the TDP. I've noticed it isn't so simple as cutting to that 11W instantly, sometimes in my testing it would retreat to around 13W, leaving enough power for the processor to run around 1.3GHz and the GPU at 550-600MHz or so. Other times, especially after testing
continuously, it would lock to that level 1 TDP and just drop to 8-9W TDP which is not enough to do much of anything when the CPU and GPU are sharing it. This is what we are seeing when framerates just drop and things become unusable until we let the surface
take a break.
The best I was able to do with my processor tweaks is maintain that 13W TDP for about 15 minutes, after which I quit that test and went on to other tests.
I wish I still had my Surface pro 2 to run the same monitors on, I'll have to see if I can borrow a friend's to do this at some point. Anyway, this TDP cap is something that Microsoft has decided on to make the Surface as stable as possible and is baked
in fairly deep, it would be possible to release an update to change it but I really doubt that that happens.
Finally, I believe my incessant testing has royal confused my Surface. It now sees its stock running speed at 2.3GHz instead of 1.7, even showing so in the system panel of the control panel, where it says
i7-4650U CPU @ 1.7GHz 2.3GHz
The first bit is just a string, the number to the right is the processor's reported frequency. I'm doing a factory restore on my surface now, but if anyone else with an i7 surface can confirm that their processor info under control panel->system doesn't
look like this it would help my tests.
Edit: The factory restore didn't change anything, so it looks like that was just a big waste of my time. I'm starting to doubt myself, but I still think that processor line in system is not right. If anyone with an i7 surface can confirm one way or another
I would appreciate it. All I know is that my processor controlling application started out saying that 1.7GHz was the non-turbo frequency and seemed to be able to control the processor accurately, but now displays 2.3GHz as the stock frequency and generally
doesn't work correctly anymore.