








                    Citrix
                    WinView
                    Application Notes



                    Distant IMage technology (DIM)





                    This application note is
                    for informational use only
                    and Citrix makes no
                    representations or
                    warranties with respect to
                    the contents or use of
                    this document or of any of
                    third-party products
                    discussed within.







June 29, 1994



Citrix Systems
210 University Drive
Suite 700
Coral Springs, FL 33071
(305)755-0559
FAX: (305)341-6880


Overview
--------

     This application note discusses the use of the Citrix's
enhancement to the products (RLINK & LANLINK, primarily) that allows
for the use of Distant IMage technology, or just DIM. Using DIM on
the WinView server and client provides applications with an easy
way to keep the high bandwidth graphic bitmaps off the link line
(ASYNC or LAN) and drastically increased performance.

     The intended audience for this document is a engineer who has
had hands on experience with WinView products.

     The scenarios described in this document have been thoroughly
tested by Citrix and Citrix believes you should have no problems using
DIM with WinView if you follow carefully the information and steps
in this document. In order to maximize your chance for success, you
should use the specified revision levels of all software products
described in this document and stay within the bounds of the features
and functions described in this document.

     Please note that this application note document is a living
document and will be modified as new information and versions of the
software described herein become available.  Make sure you have the
latest version of this document before you begin.


Benefits of the WinView/DIM solution
-------------------------------------------

     As described above, for Windows applications that are graphics
intensive (through the use of bitmaps), the drawing time for any
bitmap or graphic can be reduced a signifigant amount. Essentially,
since the images will be cached in XMS or on disk on the client, the
time it takes to draw a given bitmap is determined not by the speed
of the LAN, or the speed of the asynchronous connection, but instead by
the amount of time it takes the CLIENT machine to move information in
and out of memory, which is almost always signifigantly better. In
the worst case scenario, the limiting speed is still only the access
time of the CLIENT machine's hard drive, which again, is almost
always faster than LAN or asynchronous speed.


Requirements
------------

     To use DIM on a WinView application server you will need to have
the following:

     Software Requirements
          - Citrix WinView 2.21 or higher
          - DIM update pack (for 2.21 only):
                Host machine files:
                        TPSUBS.DLL
                        TWEGA.DRV
                        TWVGA.DRV
                        TWSVGA.DRV
                        DIMAGE.EXE
                Client machine files:
                        RLINK.EXE
                        LANLINK.EXE

     Hardware requirements:
          - The client machine MAY need more RAM or more hard drive
            space than normal


Configuration Notes
-------------------

     As mentioned earlier, the DIM technology makes use of client XMS
memory(or hard drive space) to hold the DIM files. The best
performance will be seen when all of the needed images can be stored
in client machine XMS memory. Obviously, and especially in the case
of more graphics intesive applications, the more RAM available on
the client to store images in, the better the performance.
        Given a Windows application with 2.3 Megabytes of images
(bitmaps), the client machine should have 4 Megs RAM in order to give
enough space for all the bitmaps. Keep in mind that RLINK (or
LANLINK) will use some XMS for it's own process as well, and this
needs to be taken into account. In the case where RAM is not
available, or RAM is needed for other applications, the other viable
scenario is to simply allow the client machine to cache the images
using it's disk cache. Access time for the hard drive is almost
definitely going to be faster still than the LAN or asynchronous
transfer (but obviously not as fast as RAM transfer).


Limitations of DIM under WinView
-----------------------------------

        The limitations of DIM under Winview are few. First, the DIMAGE
Windows executable MUST be run in 16 color mode. Not doing so can create
discrepancies in the bitmap 'signature', and they won't be cached at all.
In addition, there is the limitation on the .DIM files themselves. In any
given .DIM file, there can a maximum of 1000 individual images stored
in it. And in addition, the client LINK executables cannot load more than
64 individual .DIM files. Please note that this allows for approximately
64,000 images to be stored on the client.


Installation
------------

     The installation of this technology involves two steps. First is
installing the actual files into the appropriate directories. The
second is extracting the bitmaps from the application, and storing
them in the .DIM format, to be copied to the client.

        File Installation:

        Bitmap extraction:

     The bitmap extraction process uses a Citrix Windows application
called DIMAGE.EXE, which is provided in your DIM technology update
pack. This file should be located either in your WinView server's
WINCRED directory, or in an administrator's user directory. In a
Windows session, create a new item in whatever group you wish, giving
the path for (depending on what you chose):
        <drive>:\wincred\dimage.exe     or,
        <drive>:\usr\admin\dimage.exe

     This will add the icon for DIMAGE to the group you specified.
Start up the application. The screen will show the current (no file)
file status. In order to begin creation of a new .DIM file, click on
'File', and then 'New'. This will bring up the 'Build Distant Images'
dialog. Click on 'Select source' to search your applications files
for bitmaps. This will open a standard Windows 'Open' dialog. The
valid file types are .BMP and .DIB for bitmaps, .DLL and .EXE for
extraction, and other .DIM files to transfer already existing images.
It is essential that you know in which files in your application
contain bitmaps. Once you've located the file, select it, and you'll
return to the prvious screen. It will show all the available bitmaps
under the 'Source File' column. Select one or more from those
available, and click 'Add' to add them to the .DIM file. Once you've
added all the images you want (these can be from multiple files, up
to a maximum of 1000 images), click on 'Ok', and you'll return to the
'DIM File status' dialog. Then save the .DIM file.

        The location of the .DIM files is as follows. When Windows loads
on the host, it loads all the .DIM files in the \WINCRED directory, as
well as any it finds in the specific user's WINDOWS directory, (eg,
\USR\ADMIN\WINDOWS). On the client, when (LAN/R)LINK loads, it checks
EITHER the LINK Current Directory, or the directory specified by the
/DIMDIR parameter (see below).


Operation
---------

     Once the file are located in their proper directories, all other
functionality is the same. There are a few addition command line
parameters to LINK which need to be detailed. They are:

        /DIMXMS:        - specifies the maximum amount of XMS memory
                          in Kbytes to use for storing .DIM file entries.
                          By default, all available XMS is used.

        /DIMXMSENTRY:   - specifies the maximum image size (in Kbytes)
                          to store in XMS. By default, any size image is
                          stored. This allows you to force lots of small
                          images into XMS, while leaving the big ones on
                          disk.

        /DIMDIR:        - specifies an alternate directory for the
                          location of the .DIM files on the client

    There is additional information going to the LINK logfile (if
being used). This includes information about what .DIM files were
loaded at startup, and how many entries were loaded from each file.
In addition, when LINK is exited, it will write how many 'hits' on
images that were used during that session. This means that every
bitmap that gets used from the client instead of the host will
increase that number by one. This can be useful for determining if
everything has been setup correctly.

     One other important note. The .DIM files on the client are
loaded in the order they are found by DOS. Typing 'dir' in the .DIM
file directory will show you the order they will be loaded. It is
possible then to put the most used images together in the first .DIM
file (if you have XMS space restrictions), and then have the lesser
used images just use disk caching.



Compatibility
-------------

     There are no known hardware incompatibilities when using
DIM and WinView at this time.  When selecting a hardware platform for
WinView, make sure you choose from the list of supported hardware
devices in the "Citrix Compatibility Guide".


Diagnosing Problems
-------------------

Common problems (and solutions):

        1) .DIM files loading correctly from client, but performance
           is still slower than expected - check to see that the .DIM
           files are located in the \WINCRED directory or in the users
           Windows directory on the host.

        2) No .DIM entries being loaded in XMS - Check to see that
           you have a DOS XMS memory manager running on the client.

        3) Some files don't load - file may not be a .DIM, or it may be
           be formatted incorrectly. Use DIMAGE to check it, and recreate
           it if necessary.

        4) Images are loading correctly, and some are now faster, but
           others are still slower than expected - Distant Images can only
           be recognized if the application does not modify the image
           prior to display.

        5) Visual Basic 'forms' appear slow - In Visual Basic
           applications, it is common to have static images with
           controls. We have found that "holes" for the controls are
           left in the image as it is displayed, and then the holes
           filled in later. To circumvent this problem, first
           display the image with "hidden" controls, and then unhide
           the controls.


     When no further progress can be made, contact Citrix Technical
Support.
