Just a look at my temperatures after I did this. It’s nice. Heh.

(Harmlessly) Overclocking + Reducing Thermal Throttle/Optimizing your Surface Pro 3 (or 4, I hate you)

Honson Tran
7 min readNov 7, 2015

Hey guys, I’m finally able to make another post in the middle of all these exams and assignments popping up out of nowhere. If you didn’t know already, I bought a Surface Pro 3 around the very last couple days of August before I moved into Rutgers. Over the past 2 months of using this thing.. well, it’s nice, but it’s not nice enough. If you just want to get to optimizing your Surface and don’t care at all about what I have to say, just keep scrolling through the post.

Some Really Annoying Issues & My Opinion on the Surface Pro 3

Skip this if you want to just know how to optimize it. This section is for people who want to know why the Surface is the way it is. When I first got the Surface, it was a blessing. I was actually hoping Microsoft would actually be smart enough to release the Surface Pro 4 before the semester started (you know, because maybe kids like me are actually waiting to get their laptop. Smart move, Microsoft). Anyway, I will first start off by explaining and giving off some background information before showing the optimizations I have made. You can see the explanation below. It’ll go into detail about the things I hate about my Surface :D!

CPU & Hyperthreading: The Difference Between my Laptop and my Desktop

Thermal throttle on the Surface SUCKS. Before I can even explain thermal throttling, I might as well explain CPUs and hyperthreading. If you didn’t know already, modern CPUs (i3, i5, and the i7 for Intel) have 2 different versions (we’re factoring out the unlockable CPUs, and the different clockspeeds of the i7, etc): there’s a laptop model of the processor and the desktop version. The laptop CPU has 2 physical cores, and are usually advertised to have hyperthreading as well. This is because 2 cores use less energy than a desktop 4-core version of itself. Less cores, less energy, less heat. To make up for this, each core has hyperthreading. If you don’t know what hyperthreading is, watch this video.

Hyperthreading just makes the core currently in the CPU to always be constantly working by having 2 threads (in the video it refers it as arms) to constantly shove calculations through its core. The result of this is boosting its efficiency. Compared to a desktop version of the iProcessors, which has 4 cores AND hyperthreading, I feel no lag (obviously) when doing stuff.

It’s like this: cores are “mouths” and threads are “arms”. Although the laptop CPUs have 2 mouths and 2 arms each, the desktop version has 4 mouths and 2 arms each. I’m pretty much feeling the slowness because I’m shoving too much in each mouth.

I Hate Thermal Throttling. A lot.

I feel like posting a video here would be unnecessary for explanation. Anyway, I mentioned CPUs briefly to give you an idea of why laptops have dual cores. This is another reason. Temperatures. Every processor has a temperature sensors that constantly checks its heat hundreds of times to adjust it’s frequency (the speed of the CPU) to allow it to not overheat and kill your system.

As a result of this temperature limit, if the computer ever gets too hot, it will down-clock (reduce its speed) to lessen the heat, and the fans will kick in to cool it. There is also another feature for Intel-based processors called Turbo Boost, which basically over-clocks and increases the frequency of each core when it’s in heavy use. However, this feature is countered by thermal throttling. In the Surface Pro 3 i7 model, clock speeds can go from 3.3Ghz to 0.8Ghz (you’re paying for an i7 model to get i3 speeds).

Will this harm my system?

No, you are undervolting which will actually make the parts run less hot, but will still achieve desirable speeds.

How are we going to fix this?

It’s pretty simple. There’s actually a couple methods. The first one is to buy a USB fan to point to the back of the Surprisingly enough, this was effective at reducing the throttling. There’s a theory that the temperature sensor in the Surface is not actually on the processor itself, but there is another sensor that senses the temperature of the whole Surface itself. The throttling occurs a lot lower of a load compared to laptops, but it makes sense in case any consumer is scared of the heating and fan issues when they think that it’s just a normal, fan-less tablet.

The other method is undervolting. The objectof undervolting is to decrease the amount of energy being put through a computer part (particularly the CPU and GPU), but maintaining the same clock speeds. The theory is that if you undervolt the CPU, it will reduce the heat of the CPU, therefore reducing the temperature, increasing battery life, and most importantly: maintaining Turbo Boost without throttle.

How to Undervolt Your Surface Pro 3

Alright, first thing’s first. If you are proceeding to do this, there is possibly no way you can mess this up. There is a slight chance that anything at all will mess up. Also, you’re doing this at your own risk. Whatever you do here is your responsibility. I am simply here to merely guide you.

  1. Download Intel XTU (Extreme Tuning Utility)
  2. Open the program after installing.
  3. Go to Advanced Tuning.
  4. Go to All Controls.

Alright, so you got this far. The next part I’m going to mention take quite a bit of work to get it perfect, so hang on. Right now, your right and middle panel should look something similar to this:

Great, from here, crank down the Core Voltage Output, but be careful about cranking it down too much. This will cause it to be unstable and will crash your computer. Fortunately, if your computer ever does crash, it will reset the voltage back to default, so fear not. Tweak to your heart’s content.

Due to the way processors are made, not every processor can take the same settings, so if you’re looking online for some values, don’t. However, my starting point that worked for me (hint hint) was at -50mV and cranking up and down the negative voltage until I hit my limit. I first started from -50mV, then turned it up by by -10mV everytime. Once it crashes, it’ll be able to figure out the exact voltage between x and y (x being the working undervolt, and y being the extra -10mV from the working voltage). Some people are lucky and can pull off -80mV, but it really all depends on how your processor was manufactured and it’s all based on chance.Follow the steps below once you make a chance to the voltage every time.

  1. Please only edit one voltage meter at a time.
  2. Take note of your voltage (in case your values are lost from instability).
  3. Press the yellow bright apply button on the bottom right.
  4. Shut down your computer (make sure you completely shut down and not restart. It’s better to do it this way to allow a full shut down of all your hardware inside).
  5. Next, you want to test the stability of your undervolt by doing a stress test. Click Stress Test and check off the component that you’re stressing (in this case it’s the CPU, next up is your cache and GPU). Make sure the duration is 5 minutes. However, you can probably let it run for 2 or 3 minutes and see if it crashes anyway. If it overloads, it’ll restart itself. Click start testing.
Click stress test, select the component, and press start testing. (Step 5)

Reading the Charts

During the stress test, not only should you look out for whether or not your computer blacks out, but keep an eye out on the thermal throttle and core speeds as well.

Keep track of thermal throttle and core frequency. Don’t let the clock speeds hit under 1Ghz.

Finishing the Rest

Now, save your values as a profile before trying to mess with everything else. If it messes up, you can always preload your previous settings that you set for your CPU. Just click save to the right of apply and save your new profile. If you ever need to load it back up, go to Profiles and click your profile. Then, click load values.

Repeat the steps to undervolt your CPU, but for your GPU (under the Graphics tab in Advanced Tuning) and your cache (this is under your CPU). Remember that every time you have a working value going through these one at a time, overwrite your previously saved profile and stress test it.

You should notice a better performance and less lag on your system when using intensive programs. However, remember this is only a dual core. You can only do so much on it.

--

--

Honson Tran

Rutgers University. Sophomore. Electrical Computer Engineering, Computer Science, IT, and Entrepreneur. Visit me at http://honsontran.me