CPU Eat 'n' Cool tries to keep the CPU (and the overall system) cooler while the system is busy. If you are searching for a software that keeps your CPU cool while your computer is idle this software is NOT for you.
If you really want to make your computer cooler use hardware tools if you can, like fans or liquid cooling systems. The software can help a bit but very often it's not so good as you can think.
Backgrounds
This application is designed to slow down your computer while cooling the CPU. Probably you are asking why. Because it's a nice story...
I have a notebook equipped with a standard P4 2.2Ghz bought during a cold winter. I used it a lot for my work and for fun playing a lot of games. All was working fine. After the winter was the time for spring, a very hot spring. One day I launched GP4 to make a race and after 5 laps the computer powered off itself. I was a bit confused so I tried again, after 4 laps plonk!, the computer was off again. So I installed a nice program to monitor the internal temperatures and I discovered that the case temperature reached 75°C. As found in the Intel documentation, the maximum case temperature for a standard P4 is 74°C, this means that when the bios sees a temperature higher than that value it powers off the computer.
There's no way to open a notebook and add something that gives more cooling, or, at least it's very difficult. So I started searching for some software on the web. I found many programs that claim to cool the CPU when it is idle executing the HLT instruction, but there are two issues to deal with:
If you are using a NT based operating system (like 2000 or XP) this programs are not usefull because the operating system inside it's internal idle cicle executes the HLT instruction. And I'm using WinXP.
I need to cool the CPU when it is busy, for example when I'm playing a game.
So I started to write my own program.
The HLT instruction. What is it?
All the moderns CPUs support the HLT instruction. When a program execute this instruction the CPU goes in a stand-by state and wait for a signal (hardware interrupt) to wake up. HLT slow down a little bit the computer performance, this is why normally it's executed only during idle time.
CpuEnC works at the maximum priority allowed by the system executing an HLT instruction every few milliseconds. In this way the other programs have less time to perform their task and the CPU have more time to sleep and cool. This means that you can play your favorite game while keeping your CPU cool. Of course, keep in mind that the game's (application's) performance will be affected by the CPU Eat 'n' Cool presence.
This is the basic of CpuEnC: cool means less performance.
This is like a sort of software underclocking.
Usage
First, start CpuEnC, if you have MbM5 installed you must wait some seconds for the main window to appear. Set the values, minimize the CpuEnC window to the tray and launch the application or the game that make your CPU hot.
Below you can find an detailed explanations of every single option.
Sleeping Time
This is the core of CpuEnC. Changing this parameter you decide how many milliseconds CpuEnC must sleep between two HLT's blocks (to understand the meaning of block see below Boost Factor). To better understand you can imagine this parameter as 'how many HLT's blocks in 1 second?'. 1 second = 1000 milliseconds, so, for example, if you set the Sleeping Time to 20ms you can do 1000ms/20ms = 50 that is the number of HLT's blocks executed in 1 second. More HLT's blocks are executed, more times your CPU will stand-by and cool, but more CPU power is consumed for that task. So smallest values give more cooling but worst perfomance and bigger values give less cooling but better performance. Now it's up to you to find the right value but follows these tips:
The room temperature is very important. The same value could lead to different results in different times.
There are different type of games and applications. The same value could lead to different results if used with different games or applications.
If the CPU is very busy the most sensibles values are from 1ms to 5ms. This means that a very little change could affect consistently the cooling and the performance.
Boost Factor
This parameter set the size of the HLT's block. The block is how many consecutive HLT instructions must be executed prior to sleep for the Sleeping Time. Take the previous example: if Sleeping Time is set to 20ms we have 50 HLT's blocks in 1 second, so if Boost Factor is Off the size of the block is 1, we can do 50 x 1 = 50 that are the number of HLT instructions in 1 second, now if we set Boost Factor to 2x we can do 50 x 2 = 100 HLT instructions in 1 second executed in this way:
(a) HLT HLT -Sleep 20ms- HLT HLT -Sleep 20ms- ... and so on.
Now if we set the Sleeping Time to 10ms and the Boost Factor to Off we have always 100 HLT instructions in 1 second excuted in this way:
(b) HLT -Sleep 10ms- HLT -Sleep 10ms- ... and so on.
As you can see there is a difference that is a very big difference: the flow (a) gives more cooling but, if you use an interactive application (like a game), gives less performance.
So probably you are asking When and Why_ I must use the Boost Factor?
The answer is: try to avoid the use of the Boost Factor and use it in rare cases. For example, you run a game with the Boost Factor set to Off and the Sleeping Time set to 1ms. You notice that this is not enough, your system is still too hot. So try setting the Boost Factor to 2x and the Sleeping Time to a value around 20ms. You'll have surely less performance but a better cooling, if you see that it's not enough you can lower the Sleeping Time value. And last if the game become too slow buy a new fan or don't play and wait for a colder day.
Auto Cooling
To use the Auto Cooling feature you must have Motherboard Monitor 5 installed and well configured on your system. It's a very nice (and FREEWARE) program, look here. Configure MbM5 prior to use Auto Cooling, make sure it works well with your system and make sure it is reliable. If you have MbM5 version 5.3.1.0 or better installed and configured you don't need to launch MbM5 to use Auto Cooling, even if MbM5 is not in memory CpuEnC can detect that it is installed and will use it without problems. If your are using an MbM5 version prior 5.3.1.0 see the Known bugs and limits section below.
Now that you have done the setup for MbM5 learn how to use the most powerfull (and the most simple) CpuEnC's feature.
As said before, choosing the right Sleeping Time and the right Boost Factore is not so simple, there are many factor to consider as the room temperature and the application you want to execute, so why don't let CpuEnC find the right values for you?
So select a sensor to monitor from the drop down list (you should select a well configured one), then type in the box the maximum temperature (should be expressed in °C) that the sensor should reach, now you can enable Auto Cooling. As you can see the sliders used to configure the Sleeping Time and the Boost Factor are disabled and show the values choosen by CpuEnC. From now CpuEnC, every 10 seconds, reads the sensor temperature and adjusts the Sleeping Time and the Boost Factor values. The button named Active shows if the cooling process is active or not, infact Auto Cooling active the cooling process only when it is needed. When using Auto Cooling take into consideraction these issues:
If the target temperature could not be met CpuEnC will not display errors.
After you start the application or the game the sensor temperature will likely jump to a value higher than the one in the target temperature of at least 2°C. After 2/3 minutes the value should decrease to the one specified, if doesn't happen read below.
If you notice that the target temperature could not be met try an higher temperature or consider using better hardware cooling.
If you want to know how Auto Cooling works technically read below.
The Options window
Clicking on the Options button you can set some options. They are quite simple and self descriptive
When started the first time, CpuEnC creates a file called CPUENC.INI in its folder. This file contains various parameters used to tune the Auto Cooling.
If you want you can modifiy this file. The changes are not real-time, so you must restart CpuEnC after each change. If you want to restore the original CPUENC.INI file, simply delete it and start CpuEnC.
-- StefanoCiccarelli - 03 May 2005