
CPU Monitor			Copyright (C) Moose O'Malley, 
-----------			September 1996.

CPU Monitor for Windows 3.1, 3.11, 95, NT.

CPU Monitor :
- Calculates CPU usage and displays it graphically.
- Calculates the average CPU usage since CPU monitor was started.
- Enables you to calibrate "ground zero" and other settings.
  (This is discussed further below).

Developed using 16-bit Delphi.


So, Why Monitor CPU Usage ?? 
----------------------------

I wrote CPU monitor because I wanted to find out where the 
performance bottlenecks were in my system.

If your PC is running software / games / etc slowly, it could 
be because of a bottleneck in the disk, CPU, cache, memory, or 
some other problem.

By tracking CPU usage and the average CPU usage, it is 
possible to see if the software you are using is running 
slowly because of lack of CPU power.

Before running out and buying a new expensive CPU upgrade, 
just run CPU monitor - if the CPU usage isn't too high, 
then your CPU is coping with whatever you are running 
and the problem is elsewhere.

This could save you many hundreds of dollars in a wasted 
CPU upgrade !!!

It is also quite nifty to just sit and watch CPU usage 
for various programs / games - just for the sheer hell 
of it.  Also, by running CPU monitor on your PC, your 
friends will think you really know what you are doing 
on your PC !!


Advantages of CPU Monitor over Dashboard and others :
-----------------------------------------------------

There are other CPU monitoring programs on the market,
such as WinProbe, Dashboard 95, and System Monitor
which is a Microsoft product that comes with Windows 95.

However, I wrote CPU Monitor because of some serious
failings of these other commercial programs, such as :

1. Dashboard 95 and other cpu monitoring programs
   go straight to 100% when FTP, and FTP server,
   and other programs are running.  Clearly, however, 
   these programs are not using 100% of the cpu.
   However, CPU Monitor gives more realistic answers 
   and seems to handle these programs better.

2. CPU Monitor calculates average CPU usage as well.
   No other program currently on the market does this - 
   to the best of my knowledge.

3. Also, if your machine is loading WORD or some other
   big program, then cpu utilisation can easily hit 100%.  
   This prevents Dashboard 95 and all other cpu monitoring 
   programs from monitoring cpu utilisation.  Dashboard 
   and these other programs do not notice that they 
   missed out on monitoring for several seconds, and 
   do not register any 100% cpu utilisation.  
   CPU Monitor, however, notes and displays all such 
   100% CPU utilisation for the time it occured !

4. CPU Monitor enables you to define various settings 
   in order to get the best results on your machine / 
   setup.  No option like this exists in other CPU 
   monitors that I am aware of.


Settings / Calibrations :
-------------------------

Because not all machines are the same, I have enabled the 
user to set some technical aspects of the program.  Most 
users should never have to modify the "default" settings.  
However, various settings can be modified if needed.

These include :
- Calibration / CPU Monitor Overhead
  Change the "ground zero" for cpu evaluation.  
  This enables you to remove the impact that CPU Monitor has
  on CPU utilisation values when monitoring cpu usage.
  If this value is set to 5 (say), then a value of 5 is 
  taken off each CPU reading.

- Disregarded first readings for Average Calc
  When CPU Monitor first starts, the first CPU readings are high
  because CPU Monitor is loading and initialising.  If you want 
  to remove / ignore these high readings in the calculation
  of the Average CPU Usage, then set this parameter.
  A value of 3 (say) indicates that the first 3 CPU readings
  are ignored when calculating the Average CPU usage.

- Graph Updated Every every n Milliseconds
  The number of milliseconds between each update of the graph.
  You may want to update the graph less frequently on slow 
  machines.  A value of 500 indicates that the graph will 
  be updated every 500 milliseconds.  i.e. every half second.

- Determine CPU Usage every n Milliseconds
  How often CPU Monitor should try and determine the CPU usage.
  If you are on a slow PC, then use a larger value here,
  otherwise CPU Monitor will not have finished the prior
  CPU utilisation calculations by the time the next 
  calculations start.

If you get in a mess with these settings, simply press the
"Restore Defaults" button to return to reasonable values.

As settings are modified, you can see the effects on the
main CPU Monitor window immediately.


So, How does it work ?
----------------------

It took me ages to work out how to benchmark the CPU in 
Windows.

It is fairly easy to make the CPU do some tasks and 
time how long it takes.

But, how do you know how fast the CPU could do the tasks ?
How fast could it do them if no other tasks were running ?
How would your monitor program know the answers to these 
questions when it may never have been run on the machine 
in its virgin state ?
How do you know how fast the machine could run under Windows ?

It is like asking how fast your car can go, when you have 
never put your foot down !!  Or, you had put your foot 
down but you were towing a large caravan at the time.

Anyway, I thought about these questions all day, and finally 
got the inspiration.  And, in the end the answer was 
surprisingly simple !!  I could explain the theory of 
exactly how to do it to anybody in under 60 seconds !

But, I am not going to give you the answers here !  If you 
register the program and pay the extra for the source code, 
then you will know exactly how I did it !!


Shareware Reviews / Awards / CDs :
----------------------------------

Version 1.9 of this program was included on
the INFOPC (french edition of PC World magazine, IDG) 
"the best tools to test your computer" cover CD 
for the February 1998 issue.


Sharware Information :
----------------------

This is NOT free software.

This product is shareware.  

This means that you can try out the software for evaluation 
purposes without charge for a period of 21 days to enable you
to decide whether to purchase / register it.

If you use this software after the 21 day evaluation period
a registration fee is required.  See the Registration Form
in the file register.txt.

Unregistered use of this software after the 21-day evaluation 
period is in violation of U.S. and international copyright laws.

If you do not purchase / register the software after the 21 day
trial period, then you must delete it from your system.

In order to encourage me to develop this software and keep 
developing other software, I encourage you to do the right 
thing and register the software.

I could have easily have made the programs nag you to Register, 
or expire after 21 days of use, but I do not like this approach.

From April 97 on, however, some of the new functionality being 
added to my programs will be available for Registered users only.
I tried to avoid doing this, but now I have been forced to do 
this to try and encourage some Registrations.

I live in the hope that if people use the programs, then they 
will register them.

Registered users will receive FREE upgrades of the program for
the life of the program.  i.e. as long as I keep improving the
program, registered users will get this new / additional 
functionality for FREE.

To Register, please complete the Registration Form in
the file register.txt.


Ammendment History :
--------------------

Vers    Date        Description
1.1     19-Sep-96   First Public Release.
1.2     27-Sep-96   Standardise internal Include files.
1.3     02-Oct-96   Fix problem with Menu wrapping on some video cards,
                    which truncated the bottom line of the main window.
1.4     27-Jan-97   Add in Registration functionality.
1.5     23-Feb-97   Add in a Settings menu to enable various settings / 
                    calibrations to be adjusted to suit your PC / setup.
                    Improve / tidy up main window.
1.6     28-Apr-97   Add in the ability to choose Line or Bar graphs
                    to display CPU usage.  The new Line graph looks
                    vaguely reminicent of the mountains in the old 
                    Battle Zone arcade game.
1.7     24-May-97   Save settings automatically on Windows 95 shutdown 
                    (Registered Users only).
                    Start Minimised if set in Shortcut / settings
                    (Registered Users only).  
                    Improve application startup - size and position 
                    form before user sees it.
                    Make user selected Bar <-> Line graph change
                    instantaneous - instead of waiting for next
                    Timer draw cycle.
1.8     17-Jun-97   Add in Menu items for viewing my Shareware Catalog, 
                    the Readme file, and the Registration Form.
1.9     08-Jul-97   Add in code to redraw the CPU Monitor graph
                    very quickly whenever the graph is hidden
                    behind another window / application and then
                    is uncovered again.  i.e. there is no longer
                    any delay in re-drawing the graph.
2.0     11-Jan-98   Fix a long standing but very elusive problem
                    to do with "DateEncode" errors which occured
                    on some machines under some conditions.
                    Once I could replicate the error, it was
                    reasonably straight forward to get a workaround
                    for what was another bug in Delphi.
                    (2,883 lines of code.)


If this program was not downloaded from my Home Page, then
it is most likely an old version.  The latest version of this 
program is available from my Home page and its mirrors.

Moose
-----------------------------------------------------------------
 EMail         : Moose@rocknet.net.au
 Home Page     : http://www.rocknet.net.au/~moose/
 Mirrors       : See above Home Page.
-----------------------------------------------------------------
