
 ------------------------------ V e c S c o p e ----------------------------
 ------------------------------     V 1.00      ----------------------------

      This program is Public Domain and may be copied freely.

      Purpose
      -------

      This utility is capable of monitoring all system vectors in the
      desktop constantly by way of opening one or more windows each
      displaying a vector's counting, it is mainly useful for programmers
      and other expierenced users.

      What is a vector?

      A vector is in fact a handler to a standard program in your ma-
      chine which is executed when an event occurs, eg when a character
      is send to the screen.

      What is the value of VecScope?

      1) Obtain a better knowledge of the working of your Archimedes,
         for example by:

         - visually confirm your expectations about operations of
           Risc OS

         - discover what operation effects a vector

         - see the impact of operations seeming unimportant

      2) Debug programs by visually check your expectations about the
         working of a program under development, especially with the
         vectors concerning fileoperations (FileV,GBPBV,etc).


      Usage
      -----
      To start VecScope, double click on its icon in a directory
      viewer; it will put itself on the iconbar as usual.

      The VecScope icon will only respond to a click on it with the
      middle mouse button <menu>; a menu will pop up with the follow-
      ing items on it:

        Info    - moving the pointer over the arrow, next to 'Info',
                  will show the familiar box containing global infor-
                  mation

        Vectors - this item has an arrow too; moving the pointer over
                  it will pop up a submenu with items explained later
                  on

        Quit    - a click on this item will close down VecScope; this
                  means that all the windows belonging to VecScope
                  are removed and that the icon disappear from the
                  icon bar

                  Quiting using the taskmanager display is NOT recom-
                  mended because in this way the counting of vectors
                  may remain active internally!



      Of course the real stuff is started by following the earlier
      mentioned 'Vectors' item.
      The 'Vectors' submenu has five items all having another submenu
      of their own containing the names of all the (32) software vectors
      in your Archimedes.
      By selecting such a name, VecScope opens a window with two numbers
      in it called 'Start time' and 'Count'.

        'Start time' shows the time the window was opened by VecScope,
        so you can roughly estimates the usage of a vector during the
        excistance of the window.

        'Count' is the most importly part of the whole program; this
        value is updated immediately when the vecor was called by your
        Archimedes, giving you the ability to monitor a vector con-
        stantly

      Because it is very well possible to open more then one window,
      each window has the name of the vector it is counting as its
      title.

      The five items of the 'Vectors' submenu are symbolic names of
      vector groups, they are:

        Rarely   - this item has a submenu containing vector names
                   of vectors that are updated rarely by the system;
                   only in special cases the are called more frequently,
                   for example when some software uses the UserV vector
                   it is increasing otherwise it will remain zero all
                   the time.

        Regular  - vectors belonging to this group are executed regular
                   by your machine, for example CLIV is used whenever
                   a *-command is issued.

        Often    - these vectors are called rather often like the WrchV
                   vector which is called every time something is written
                   to an output device such as the screen and printer.

        Constant - the counter in these vectorwindows are updated con-
                   stantly, one of them is TickerV, a vector executed
                   100 times in one second to keep the internal time
                   up to date; it is not very useful to keep a window
                   open for these vectors because the constant updating
                   of the counters makes the other programs slower.

        Bursts   - the last group of vectors are increased in bursts,
                   ie only when a program needs it; eg the DrawV vec-
                   tor is only used when Draw-operation are performed,
                   like in Impression or of course in '!Draw' itself.


      To emphasis the fun of VecScope I will end with some practical
      examples you can try out for yourself:

      - see WordV incrementing every second when '!Alarm' is running;
        it halts when '!Alarm' is removed

      - watch the rapid incrementing of CLIV when the directory viewer
        of Application disc 2 is made; this gives an impression of the
        amount of *-commands issued during such an operation

      - notice the amount of calls to BgetV when using a *DUMP issued
        from a shell (eg after <f12>)

      - observe the calls to ColourV after a mode-change while displaying
        a sprite in '!Paint'

      - try loading two copies of VecScope in your desktop (and nothing
        else) and open both their WrchV windows; see how the first copy
        monitors the second and vice versa, when you close one of the
        WrchV windows, the remaining will stop increasing

      If you have any suggestions or if you want to give some remarks,
      please don't hesitate to contact me.

      In the mean time have fun using VecScope.

                                                   29 june 1990,

                                                   Machiel Jansen
                                                   Willem de Zwijgerln 66 1
                                                   1056 JT  Amsterdam.
