This README.TXT file contains instructions for using Perf and the Screen Dumper for GEOS 2.0. Place the application files in your \WORLD directory in Ensemble 2.0 and double click on their icons to run them. Copyright (c) 1993 Geoworks. All rights reserved. These files may be distributed to registered owners of GeoWorks Ensemble under the terms of the GeoWorks Software License Agreement. Any other use is expressly forbidden. These files provided on an "as is" basis, without warranty of any kind. Screen Dumper and Perf are provided free of charge as unsupported GEOS applications. If you experience problems with these applications, we'd like to know about them, but we do not guarantee suitability of this software on any system for any purpose. Instructions for Screen Dumping Screen Dumper for GEOS 2.0 defaults to placing the screen dump on the GEOS clipboard. Subsequent screen dumps will replace the item on the clipboard, so remember to Paste the clipboard into a GEOS application (GeoDraw, Scrapbook, etc.) before making your next screen dump, when using the clipboard format. The text below is available by clicking the Help menu item in the Screen Dumper. The following keystrokes are recognized by Dump when the system is running normally: Ctrl-Shift-Tab Freezes the screen and causes Dump to pay attention to the function keys as commands. No further input is passed to any application or the UI. The pointer may be freely moved around the screen (but not onto another screen) and will be brought back to its starting point when the screen is thawed. Shift-PrtScr Creates a dump of the entire screen on which the pointer is currently located. Does not remove the pointer image first. The following keystrokes are recognized only when the screen has been frozen with Ctrl-Shift-Tab: Esc Thaws the screen without dumping any piece of it. F1 Bring up the main parameters box again after it's been banished, in case you need to change any of the dumping parameters. F2 This is currently inactive. F3 Dumps the window under the pointer after removing the pointer from the screen. F4 Dumps the window under the pointer, leaving the pointer image on the screen. F5 Shows the current dump rectangle. The rectangle remains on screen, where it can be moved or resized by means of the numeric keypad, until a dump is made or the screen is thawed. F6 Dump the current rectangle. If the rectangle is currently showing, it is removed first. Note, however, that the rectangle need not have been on-screen for this command to work. If the rectangle is not showing, the rectangle as it was last displayed will be dumped, allowing you to create a succession of screen dumps of the same area of the screen. F7 This is currently inactive. F8 Dumps the entire screen in the same manner as Shift-PrtScr. When the dumping rectangle is displayed on the screen, the numeric keypad is activated to move and resize it. The rectangle is moved by typing one of the numbers on the eight compass points (for example, typing 9 on the keypad will cause the rectangle to move up and to the right one pixel). The motion can be magnified by modifying the keypad key with the Alt key: Alt-9 will move the rectangle up and to the right 8 pixels. If Shift is typed with one of the keypad keys, the rectangle is enlarged in that direction, rather than moved: Shift-6 will enlarge the rectangle to the right one pixel. Again, Alt can be used to enlarge the rectangle by 8 pixels. If Ctrl-Shift is typed with one of the keypad keys, the rectangle is shrunk from that direction: Ctrl-Shift-4 will reduce the rectangle by one pixel on its left side. Adding the Alt modifier will shrink the rectangle by 8 pixels instead of 1. The dumping rectangle can also be brought up/resized using the mouse. Clicking and dragging with the left mouse button will place one corner of the rectangle where you clicked and allow you to resize the rectangle in any direction. When you release the button, the rectangle will remain on-screen for you to fine-tune with the keypad, as necessary. Clicking and dragging with the right mouse button uses the previous anchor point but allows you to resize the rectangle as you wish. PERF This application draws a series of graphs, showing the performance and activity of the GEOS operating system as you run multiple applications. Drag the window to the bottom of the screen, and then watch the graphs as you launch and use other applications. Every second, the graphs are updated to show the system statistics from four areas: processor usage, interrupt and context switch activity, memory usage, and swap activity. Processor Usage When you run PC/GEOS applications, the processor is actually shared by many independent threads of execution. Each thread has a priority, and these priorities change based on how often each thread has executed recently. PC/GEOS always ensures that the highest priority thread is executing. The dynamic nature of the priorities results in threads sharing the processor. The process of stopping one thread and starting another is called a context switch. Threads vary in their demands upon the processor, so you will typically find that the processor has execution time to spare. The CPU Usage graph shows the percentage of time during each second that the processor was actually executing one or more threads. The Load Average graph indicates the average number of threads which were awaiting processor time. Interrupts and Context Switches Many times a second, the processor is interrupted from its current thread of execution, in order to handle very quick, timing-critical tasks. The Interrupts graph shows how many hardware interrupts occur each second. As mentioned before, a context switch is performed to redirect the processor's attention to a different thread. Context switches are also performed when an interrupt occurs, or when a thread completes before its tenth of a second time-slice has ended. As you can see from the Context Switches graph, a large number of context switches can be performed per second. Memory Usage PC/GEOS will use any available RAM in the first one megabyte as its Global Heap. Portions of applications, documents, and even PC/GEOS itself are stored in blocks in this area. These blocks are classified as either fixed or movable; the majority are movable, so that they might be rearranged to make room for new blocks as they are created. The Memory Usage graph shows the portion of the heap that is occupied by both fixed and movable blocks. PC/GEOS will try to keep this portion near 90%, to balance two conflicting needs: (1) to have space for starting new applications and opening new documents readily available, and (2) to keep as much of currently active applications and documents in memory as possible. The Fixed Memory graph shows the amount of the heap which is occupied by fixed blocks. This value will change as you launch and exit applications. The Fragmentation graph shows the portion of the heap which is not usable, because the movable blocks are not organized in an ideal manner. Note: the time required to collect data for these graphs may lower your overall system performance. Swap Activity As you launch more applications, or open large documents, you will notice that the memory demands on the global heap increase. When the heap is full, lesser-used blocks of code and data are temporarily swapped, or copied, out to any available extended or expanded memory, or to the swap file on your hard disk. This Virtual Memory scheme permits pre-emptive multitasking between applications, and allows you to edit large documents regardless of the amount of memory on your computer. The Swap Memory and Swap File graphs show the percentage of EMS/XMS memory and swap file space that is occupied by swapped blocks. The Swap Out and Swap In graphs show the total amount of swap activity per second.