********************************************
*  NuMega TrueTime Visual Basic Edition    *
*             Beta 3 Release               *
********************************************


Thank You! 
What's New? 
Contacting NuMega Lab Technical Support 
Installing TrueTime 
Hardware and Software Requirements 
Before Installing 
Installing 
Removing an Installation 
Getting Started 
What is TrueTime? 
What Does TrueTime Profile? 
What Makes TrueTime Different? 
What Happens When You Instrument and Run Your Application 
Up and Running in 10 Seconds 
Frequently Asked Questions about Advanced Features 
FYI
Known Anomalies 



Thank You!
----------
Thank you for purchasing TrueTime, the newest tool in NuMega's 
line of award winning development tools. TrueTime is a performance evaluation 
tool for Visual Basic that collects data about your application. You can use 
this data to pinpoint performance problems and increase the efficiency of 
your code. We look forward to your constructive feedback.



What's New? 
----------- 
We have added or fixed the following items since Beta 2. 

* The Address column has been added to the Function List tab. 

* TrueTime menu items have been moved from the Tools menu to the DevPartner menu. 




Contacting NuMega Lab Technical Support
---------------------------------------


For Technical Issues
====================
NuMega Lab Technical Support can assist you with all your technical problems, 
from installation to troubleshooting. 

Before contacting technical support, please read the relevant sections of 
the documentation and the Readme files.

You can contact Technical Support by e-mail. Include your serial number 
and send as many details as possible to ttvb@numega.com

Before contacting Technical Support, please obtain and record the following 
information:
* Product name (or edition), version, or service pack
* Product serial number
* Your system configuration: operating system, network configuration, amount 
  of RAM, environment variables, and paths
* The details of the problem; settings, error messages, stack dumps, and the 
  contents of any diagnostic windows
* If the problem is repeatable, the details of how to create the problem
* The name and version of your compiler and linker and the options you used 
  in compiling and linking



Installing TrueTime

Hardware and Software Requirements
----------------------------------
It is a good idea to backup your system before you install the product. The 
following items are required to install and run TrueTime.
* PC-compatible Intel Pentium system or above
* Microsoft Windows NT 4.0, Microsoft Windows 95, or Microsoft Windows 98 
  (Release Candidate). If you are installing on Windows NT 4.0, you must have 
  administrative privileges on the machine.
* RAM: 32 MB minimum 
* Disk: 10 MB for full installation
* Visual Basic 5.0, 5.0 SP1, or 5.0 SP2 


Before Installing
-----------------
* Visual Basic must be installed before you install TrueTime.
* Uninstall any previous versions of TrueTime that are on your system before 
  you install this release.


Installing
----------
1 If you have TrueTime Visual Basic Edition 1.0 Release, uninstall the release 
  version before you install this Beta version. 
2 Close all open programs. 
3 Insert the TrueTime CD into your CD-ROM drive. If you have CD auto-run enabled, 
  the installation starts automatically. If you have CD auto-run disabled, open 
  Explorer, and navigate to the root drive of your CD-ROM and double click on 
  SETUP.EXE.
4 Follow the prompts to install TrueTime.  

NOTE: If you install multiple versions of TrueTime (VB, VC, Java), 
      you must install them in the same directory. 


Removing an Installation
------------------------
To remove TrueTime, use the Add/Remove Programs applet in Control Panel. Remove 
TrueTime performs the following actions.
* Deletes TrueTime files from the TrueTime installation directory and 
  sub-directories
* Removes TrueTime registry entries
* Deletes the TrueTime program folder and items




Getting Started

What is TrueTime?
-----------------
TrueTime is a performance analysis tool that collects and displays performance 
data for application sessions. The performance data includes information about 
images, source files, and lines of source code. You can use this data to 
identify performance problems and examine relationships among functions. 


What Does TrueTime Profile?
---------------------------
In addition to gathering session data about your source code, TrueTime gathers 
data about calls made to external components. For example, if your application 
calls a system or third-party DLL, TrueTime can gather performance information 
about the functions that your application calls in the DLL. TrueTime also gathers 
session data for ActiveX functions, even if you do not have the source code.


What Makes TrueTime Different?
------------------------------
When you instrument and run your application with TrueTime, you can configure 
TrueTime to use Quantum technology. Quantum technology distinguishes 
between time spent in threads of your application and time spent in threads of 
other running applications. Session data collected with Quantum technology 
enabled contains time measurements only for time spent in threads of your 
application. This helps TrueTime generate accurate, reproducible results that 
are independent of outside influences.


What Happens When You Instrument and Run Your Application
---------------------------------------------------------
During instrumentation of your Visual Basic or Visual C++ application, TrueTime 
works with the compiler to add instructions to your image to collect performance 
data at run time. For example, TrueTime is called each time a function is entered 
and each time a function is exited. TrueTime uses this information to determine 
the execution time of the function. 

While TrueTime collects timing information, Quantum technology monitors context 
switching and tracks how much of the CPU time is spent working on other threads. 
After collecting the timing data, TrueTime subtracts the time spent in other 
threads from the clock time to determine exactly how much time was spent in your 
application. 




Up and Running in 10 Seconds
----------------------------
1. Open your project in the Visual Basic Integrated Development Environment.
2. On the Tools menu, select Run with TrueTime.
   TrueTime instruments and runs your application. After you quit your application, 
   TrueTime displays a session file that contains the performance information 
   for that session. Refer to the TrueTime Online Help for complete details 
   on using TrueTime.
3. To save this session file as part of the active project, on the 
   File menu, select Save. You can use various session files to compare 
   different performance scenarios.

See the TrueTime Online Help System more information on using TrueTime.
See the "Frequently Asked Questions About Advanced Features" section for information 
about advanced techniques for accessing performance information on client server 
applications and ActiveX controls.



Frequently Asked Questions about Advanced Features
--------------------------------------------------
Q. What are the __vba API calls in the Detail window and Function List tab?
A. TrueTime displays information for some API calls that are not Visual Basic 
language elements. These calls are the inner workings of the Visual Basic run 
time library. 

Q. What is the [Program Start] entry in the Detail dialog and Function List tab? 
A. This entry represents the beginning of the program. All functions listed as 
children of a Program Start were called during program initialization. 

Q. What are the [Thread Start - <thread ID>] entries in the Detail dialog and 
   Function List tab? 
A. These entries represent the beginning of a thread. All functions listed as 
children of a Thread Start were called during thread initialization. 

Q. What are the hexadecimal address entries in the Detail dialog and Function 
   List tab?
A. These entries represent functions for which TrueTime cannot find enough symbol 
information to identify the function.

Q. What are the #number[image name] entries in the Detail dialog and Function 
   List tab?
A. These entries represent unnamed functions exported from DLLs as ordinal values.

Q. Why does TrueTime show performance data for a comment or blank line?
A. There is a bug in Visual Basic 5.0 that affects source code generation for 
projects and forms that were saved in Visual Basic 4.0 and previous versions. 
The workaround for this problem is to open the project in Visual Basic 5.0 
and save each of the files associated with the project.

Q. Why is TrueTime unable to instrument a project group that contains ActiveX 
   control projects?
A. In some circumstances, you might experience problems instrumenting because of 
way that Visual Basic registers ActiveX controls. These problems occur when the 
Version Compatibility option for ActiveX control projects is set to Project 
Compatibility. TrueTime works best when you set this option to Binary Compatibility 
for ActiveX control projects. By setting this option, you will avoid creating
new GUIDs and re-registering the component each time you compile your project.

If you cannot set the Version Compatibility option to Project Compatibility, use 
the following steps to minimize problems instrumenting with TrueTime:

   1 Make sure you can build the project group in Visual Basic.  
   2 Exit Visual Basic and, when prompted, save all project files. This is 
     necessary because Visual Basic improperly maintains a loaded reference 
     to each ActiveX control.
   3 Reopen your project group in Visual Basic and instrument with TrueTime.

   NOTE:  If you need to make changes to any of the ActiveX controls in the 
   project group, repeat steps 1-3. Do not compile the individual ActiveX 
   control projects. This changes the GUID, so that references to the 
   control will be incorrect. 

For more information on the Version Compatibility option, search for "When Should 
I Use Version Compatibility?" in the Microsoft Visual Basic 5.0 online Component 
Tools Guide.

Q. Can I use TrueTime to profile a non-instrumented application?
A. Yes. See the "To Profile a Non-instrumented Application" topic in the TrueTime 
online help, which describes the steps required to profile a non-instrumented 
application. 

Q. How can I profile an ActiveX server from the command line?
A. To profile an ActiveX server or ActiveX document server, instrument the server 
   with TrueTime in Visual Basic. When you run your client application and access 
   the server (for example, with OLE), TrueTime collects performance data for the 
   server.

Q. Do I always have to instrument and run my application from the Visual Basic 
   Integrated Development Environment (IDE)?
A. No. After you instrument your application with TrueTime, you can run it outside 
TrueTime and still gather performance data. When you start your instrumented
application from Windows Explorer or from a command prompt, TrueTime displays 
an icon in your task bar to indicate that it is collecting performance data. When 
you quit your application, TrueTime displays a dialog to prompt you to save the 
performance data or view it in TrueTime. 
	NOTE: If you change an application, you must reinstrument 
	to gather performance data for the updated application. 

Q. How can I get performance data on my ActiveX controls that are used in Internet 
   Explorer or another client application?
A. There are two ways to get the performance data after you have instrumented your 
control. The first is to run Internet Explorer, or your client application, 
and start using it so that your control gets loaded. When your control is loaded, 
TrueTime displays an icon in your task bar and collects performance data. Or, you 
can instrument your application and select the Program menu Settings option in 
TrueTime. In the Program Info tab, enter the name of the application you want to 
run in Executable for Session. The Samples\Comptool\Actvcomp\Ctlplus sample 
included with Visual Basic is a good example of an application that uses 
ActiveX controls.
	NOTE: If you use Internet Explorer 4.0 with the Active Desktop 
	feature enabled, you must specify the -new option when you 
	start Internet Explorer to get performance data. 

Q. How can I use TrueTime to collect performance data for a client/server application 
   that is comprised of two executables?
A. TrueTime can handle this easily because it gathers performance data when you 
run instrumented applications inside or outside of TrueTime. Complete the following 
steps to gather performance data for a client/server application.
   1 Open the server project in Visual Basic.
   2 Instrument the server project, but do not run the server.
   3 Open the client project in Visual Basic.
   4 Instrument the client project.
   5 Run the client application. When the client starts up the server, TrueTime 
     displays an icon in the task bar indicating that the server is running and 
     TrueTime is collecting session data.
   6 When the server unloads, TrueTime displays a dialog box to ask you to save 
     the server session file.
   7 When you quit the client, TrueTime displays the session data for the client 
     session. You can open the server session file to view the session data for 
     both components simultaneously.
The Samples\Entrpris\Hello sample included with Visual Basic is a good example of 
a multiple executable client/server project. 

Q. When I instrument and run an ActiveX server application directly from TrueTime, 
   I cannot see the source code or performance data for my code. Why?
A. To gather performance data for a server application, you must start the server 
from a client application. 

Q. How can I view data for the ActiveX objects and Visual Basic objects (such  
   as buttons and combo boxes) called by my application?
A. Select the ActiveX Interfaces and Controls filter on the Filter pane to display 
data for the ActiveX interfaces on the Function List tab. Select the Internal VB 
Controls filter to display data for Visual Basic objects. Refer to the TrueTime 
Online Help for more information about filters. 

Q. Can I instrument with TrueTime from a batch file?
A. Yes. See the "To Instrument with TrueTime from the Command Line" topic in the 
TrueTime Online Help System for information about the command.



FYI
---
* TrueTime cannot collect performance data for an instrumented OCX that is loaded by 
  Microsoft Developer Studio or Visual Basic. To collect performance data, you can 
  to load/test your OCX with TSTCON32.EXE.

* If you add an instrumented Visual C++ OCX to your Visual Basic project, TrueTime 
  cannot gather performance data for that OCX when you run your project from 
  Visual Basic. To gather performance data for the OCX, make (one the Visual Basic 
  File menu, select Make) and run the project executable.

* TrueTime requires more free disk space for instrumentation than Visual Basic does 
  for compilation. Since the amount is proportional, make sure you have plenty of 
  free disk space for large applications.  

* TrueTime does not work with Microsoft Transaction Server. 

* For this release, TrueTime does not work with Visual Basic 6.0 Beta 1 Release. 



Known Anomalies
---------------
* TrueTime might have problems correlating the source code lines for Visual Basic files 
  that were created in versions before Visual Basic 5. This is a known problem in Visual 
  Basic 5. As a workaround, you can open your project and save each of the files in 
  Visual Basic 5.

* If your project contains references to external objects (such as .VBP files), you must 
  compile the project in Visual Basic before you can instrument it with TrueTime.

* You must compile OCX projects in Visual Basic before instrumenting them with TrueTime.

* When you run an instrumented control in Internet Explorer 4.0 with the Active 
  Desktop feature enabled (for example, with an ActiveX .dll or .exe), you must 
  start Internet Explorer with the -new option to get performance data. 
  Use the following command. 
         iexplore.exe -new <file-name> 

* When you make a change to a single subproject in a project group, open the changed 
  project and instrument it separately to avoid reinstrumenting all the subprojects.

* On Windows NT, you must have administrative privileges to use Quantum technology.

* TrueTime does not work with the Visual Basic Learning Edition because it does not 
  use native code. 

* TrueTime does not collect performance data for Visual Basic add-ins. 

* Due to a problem in Visual Basic, when you terminate a loop before it iterates to the end, 
  TrueTime shows the execution count of the first line in the loop as one less than the 
  correct count on the Source tab.  For example, in the following code sample the For loop 
  is terminated by an Exit For statement (it could also use a GoTo statement). TrueTime will 
  show the execution count for the j = 2 statement as 1 instead of 2.

  1    For i = 1 To 5
  2
  3           j = 2    ' Source tab Count column shows 1, but should be 2
  4
  5         If (2 = i) Then  
  6             Exit For
  7         End If 
  8
  9    Next i

* Due to a problem in Visual Basic, TrueTime attributes the execution time for the first 
  iteration of a loop to the loop statement (the For statement on line 1 in the code 
  example above). For remaining iterations of the loop, TrueTime also attributes the time for 
  any loop termination tests to this line (the check that i has reached 5 in the example above).



