Disclaimer: every solution that I list in this article is to provide informations. I deny any damage that you make to your own machine
I am a general purpose programmer: so far I played a bit in web science, I learned how to create native Android applications and I am interested in game development. Programming by itself does not require a powerful machine: I completed a lot of university projects using only my Raspberry Pi. But for videogame development you have to dive into graphics, assets creation, 3D modeling, game engines.
Since a laptop can not handle correctly these graphic intensive tasks, I built a desktop for that.
When has been the time to buy a new laptop, I chose an ultrabook since I was already having horsepower at home.
Then for study reason I had to move and I was not able to bring my desktop with me.
I realized that I had to play only 2D games, at least for the time being away from home, but even these if not optimized were warming my machine a lot, over my safe-threshold (~60C).
Back in the days I had a PS3 and some of you may remember the Yellow Led Of Death (YLOD) that meant basically death from over-heating. Since then I'm super concerned with thermals in my machine: I always keep an indicator of the temperature in my taskbar and a graph of the processor load, since I want my machines to last as much as they can.
So I had to cool down my laptop in different ways, depending on the load, situation and tools available. I adopted bad and worse ways to cool down my laptop just because of that temperature indicator, but I can say that I gained a fair knowledge in the field that might be useful to someone hopefully
CPUs have in general an operating temperatures: you can not go lower than the ambient temperature, otherwise you will incur in condensation from the environment, and that is a lower bound. Usually temperatures of 90+C are dangerous and usually CPUs stop completely working to not harming themselves. In between the safe zone is really a matter of preference. In my opinion
|30-40||Normal - Idle|
|60-80||Heavy task - Game|
|80-90||Something is wrong|
In my opinion, I'm uncomfortable if my CPU is 60+C and that's when I start working on the temps.
Following I'll try to list the solutions I adopted over time
|Cooling Stand||Try it||?|
One of the most simple but also most harmful solution is to make use of ice. To avoid water condense I used some clothing, but for some unknown reason, the laptop stopped working after a week. I suppose that thermal expansion could have a role in this, but I'm not sure about that. I just know what to avoid next time.
The laptop didn't stopped working suddenly. Instead it was not able to be turned on anymore the next time. The assistance reported a Motherboard problem and definitely because of that approach. So, just stay in the temperature range listed above.
Something probably known is to reapply thermal compound. This has the purpose to make perfectly adhere the head spreader of your CPU to the heat sink. Thermal compound tends to dry up with time, making this process not so efficient.
Moreover vendors' compound is in general of bad quality and a new one can in general lower the temperatures of ~5-10C depending on the situation
Over time laptop catch dust and may happen that too much accumulates into the fans, slowing them down or in the worst case, preventing them to spin.
In this case, open up your laptop and clean them with some compressed air. If you notice that they require too much force to spin, maybe the pivot is not that much lubricated, so you there is room for improvement. Some models allow to take out completely the fan from its container, others don't. Just be careful and don't force a fan risking to make permanent damages. With that said
- Take out the fan removing it from the pivot (IF POSSIBLE)
- Clean the pivot with alcohol
- Apply a drop of oil in the pivot hole
- Put it back together A gain of ~2-3C can be achieved if the fans were in a bad state before
Every gaming laptop has some setting for its fan, core clock, voltage... For many ultrabooks this is not for granted. Fan access really depends on your vendor. If you can set these parameter from your BIOS, you're good to go. Otherwise check some programs like SpeedFan, or the more invasive HwInfo, allowing different fan policies or even a manual control (you really have to know what you are doing in this case).
The idea is to move more air in general powering up the existing cooling solution. Gathering some information online shows that these devices are not effective as expected: in general a drop of just 2C is registered for something that doesn't come cheap (just more expensive than other solutions).
The main problem is that it's cooling down something already cool, while the CPU is far away from that. A lightly higher airflow is not a radical solution in this case. My suggestion is just to avoid these and move over different solutions.
Beware: we are getting in exotic solutions that can be dangerous for your system if not done correctly
Sometimes laptop vendors has to save on some part of the machine to make it cheaper and may happen that they want to save on cooling. A laptop that I owned with a discrete video card with a single heat pipe going through both CPU and GPU, making CPU vary warm even when idle as in this case
My solution in this case has been adding some wire copper from the the CPU far from the heat sink directly to it. Both copper and aluminum could be used in this case, since they have good thermal conductivity, but these are metals, meaning that the conduce electricity as well. If such wires touch the motherboard while running, they can short it dealing permanent damages. In that case I isolated it with a layer of plastic to avoid this situation.
In the end with this solution I achieved 5C less than before being able to move more heat.
If these programs are not helping, definitely Intel's XTU will do the trick. This allows you to undervolt CPU/GPU to get some better temperatures, but as always be aware of what you are doing, or you'll incur in system instability.
Moreover if you are really interested in temperatures sacrificing performance, go for underclocking. I was getting good results running at 75% the original clock speed, even better at 50%, but the slowdown was really noticeable. This depends on what you are doing so do multiple test to balance performance and temps adjusting these parameters.
I've heard that some people just keep their laptop open for playing. This is technically OK so far you keep it far from anything that can obstruct the fan flow. This solution affects portability and since I'm talking about ultrabooks this could not be that useful.
Some vendors take care about cooling and places holes in the chassis next to the intake fan so there is a nice airflow. Some others instead closes completely the chassis, making sacrificing airflow for...being good looking I think.
In the past, on a very cheap machine, I just drilled some holes in the chassis next to the intake fan. This was effective but here we are damaging permanently the laptop, that is of course expensive if we are talking about an ultrabook, so think twice if this is really the case.
These kind of things seems a technology from early 2000s but there are still some model on the market. The idea of this device is just to cool down the bottom of the laptop, providing general cooling.
There are a lot of plastic built laptop in the market and plastic is not really thermal conductive. Cooling down a plastic plate can not be useful at all if you have overheating problems, but if it's the case you have a metal plate and this is really warm during intensive computation, then this cooling stand can help.
I used my cooling stand for a year now. Recently I found out that using my stand I reached higher CPU temps compared to not using it. This because the internal fan was not enabled while using the stand because the CPU was not reaching the threshold temperature for its activation. On many systems you can customize this parameter, but in my case I am not so I had to just turn off the cooling stand, using it just as a stand, allowing more air to move passively. This might not be your case but I'm sharing my experience. Just keep watching your CPU temperature.
Another solution that depends on your laptop build. If you have access to more internals through some holes in the chassis, this might work. I purchased one of this sometime ago just as an experiment turning out to be very effective on my machine (I own an XPS 13 from 2016)
In my case through some holes in the chassis I have direct access to the CPU, allowing me to mount a fan over it, cooling it down directly.
To really make use of this technique you have to isolate the airflow. I used some glue pads to do it since it can adapt and being slightly adhesive stays in place.
This method is very effective, much more than the vacuum fan, since we are cooling down directly the hot part of the computer.
Anyway the airflow was constricted a bit through the holes, so even if better results could be achieved blowing air directly to the CPU with no chassis halfway, portability starts being an issue.
My final solution has been keeping the laptop closed and suck out air, instead of blowing it in, achieving a drastic 10C difference.
Usually these fans are shipped with some metal grids to be more secure, but I had to remove it to get to the correct side.
Laptops are really a dedicated environment: each one has it's own differences and characteristics, so don't take any information here or on the internet for granted. Check your setup before buying something that is not working for you.
Be always careful when you work with exotic solutions that could potentially harm your machine.
I hope having provided some suggestions sharing my experiences in this field!
The secret to learning how to code is that you'll never stop learning how to code. As a beginner, you need to adjust your attitude to learning. You need to learn to embrace challenges and frustrating experiences so you can gain the skills to thrive as a programmer.