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): :\wincred\dimage.exe or, :\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.