UOAM:perf

Configuring UO Auto-Map for Optimal Performance

If you have the time and you are at all concerned about performance, I strongly recommend that you read this section carefully.

Uoam perf.jpg

Where To Find These Dialogs

There are three performance dialogs available from the main menu by selecting "Felucca Map Performance Settings", "Trammel Map Performance Settings" or "Ilshenar Map Performance Settings" under the "Map" menu. (Note that the main menu is only available when UOAM is not operating in topmost mode. Double-click on the map to toggle topmost mode on or off.)

One or more of these dialogs will also appear the first time you run UOAM and any time the date stamp on one of the UO map files (see below) changes.

What They Do

UO's Britannia map is huge (6144 x 4096 tiles to be exact; the Ilshenar map is much smaller: only 2304 x 1600 tiles) and processing all of that data on the fly can seriously tax all but the fastest of systems. This dialog allows you to save processing time by performing it up front and saving the results on your hard drive.

UO Auto-Map can generate three distinct types of maps (or views) from UO's raw map data: the normal view that you are accustomed to seeing on your radar display, the X-ray view which shows static objects inside buildings and under ground, and the no-statics view which shows the basic map without overlaying any of the static objects. In addition, each of these views can be drawn at a number of different zoom levels.

The three sliders on these dialogs determine how fast UOAM will be able to draw each of these types of maps at the varying zoom levels. As a slider moves to the right, UOAM will operate more efficiently over a wider range of zoom levels. However, in order to achieve that, it will require an increasing amount of disk space.

By clicking on the "Advanced" button, you can see a list of the data files UOAM is capable of generating and what they are used for; and you can see exactly how moving the sliders determines which files will be generated. You can also override the action of the sliders by directly checking the files you want to have generated and unchecking the files you don't think you need.

Pressing OK will generate any new files that need to be created, and will delete any files that are no longer needed.

Be warned that generating these files is a slow process. It may take as much as fifteen minutes or more to generate all of these files on a slow system so you should be prepared to wait a while if you have asked UOAM to generate any of these files. (Ilshenar's map being so much smaller takes quite a bit less time to process.) You should also be aware that it is faster to generate them all at once than it is to generate them separately so it is in your best interest to know what you want before you push that OK button.

About the Data Files

To generate the map, UOAM uses the map files that came on your UO CD-ROM: MAP0.MUL, RADARCOL.MUL, STAIDX0.MUL, and STATICS0.MUL (MAP2.MUL, RADARCOL.MUL, STAIDX2.MUL and STATICS2.MUL for Ilshenar). In addition there is a set of map files that contain data unique to each facet. These files all begin with MAPDIF or STADIF and end in .MUL.

UOAM can also generate and use a set of bitmaps that enable it to generate the map much faster, particularly at higher zoom levels.

Here are tables showing the set of bitmaps UOAM can generate and which views they may be used for:


Felucca:

all zoom levels 1/2 zoom or lower 1/4 zoom or lower 1/8 zoom
Normal View MAP0-1.BMP MAP0-2.BMP MAP0-4.BMP MAP0-8.BMP
X-Ray View MAP0-X1.BMP MAP0-X2.BMP MAP0-X4.BMP MAP0-X8.BMP
No-Statics View MAP0-NS1.BMP MAP0-NS2.BMP MAP0-NS4.BMP MAP0-NS8.BMP

Trammel:

all zoom levels 1/2 zoom or lower 1/4 zoom or lower 1/8 zoom
Normal View MAP1-1.BMP MAP1-2.BMP MAP1-4.BMP MAP1-8.BMP
X-Ray View MAP1-X1.BMP MAP1-X2.BMP MAP1-X4.BMP MAP1-X8.BMP
No-Statics View MAP1-NS1.BMP MAP1-NS2.BMP MAP1-NS4.BMP MAP1-NS8.BMP

Ilshenar:

all zoom levels 1/2 zoom or lower 1/4 zoom or lower 1/8 zoom
Normal View MAP2-1.BMP MAP2-2.BMP MAP2-4.BMP MAP2-8.BMP
X-Ray View MAP2-X1.BMP MAP2-X2.BMP MAP2-X4.BMP MAP2-X8.BMP
No-Statics View MAP2-NS1.BMP MAP2-NS2.BMP MAP2-NS4.BMP MAP2-NS8.BMP

Using pre-rendered bitmaps offers a significant performance gain and consequently the pre-rendered bitmaps are always used whenever they are available.

UOAM attempts to make use of the first bitmap it finds that is at or above the desired zoom level. If it fails to find a bitmap for the proper zoom level, it checks the next higer level and so on. (For example: MAPX2.BMP can be used for the X-ray view at the 1/2, 1/4, and 1/8 zoom levels.)

NOTE that there is no need to generate bitmaps for the 2x, 4x and 8x zoom levels. This is because these zoom levels don't show any more data than the 1x zoom map (the blocks are just bigger) and so they use the same files. The MAP1.BMP, MAPX1.BMP and MAPNS1.BMP files can be used at all zoom levels.

Because these files are standard Windows bitmaps, they offer the interesting side-effect of being useful for all the little things that Windows bitmaps can be used for: things such as desktop wallpaper, image editing, etc.

Things To Consider When Choosing Your Settings

First of all, it is ALWAYS faster to use a bitmap. This is especially true now that OSI has introduced additional map data that is unique to each facet. If you have enough disk space, it makes sense to generate at least the 1x zoom bitmap files for all three map types because they can be used at all zoom levels.

The second thing to consider is that 90% of the time you will have no need for the X-ray and no-statics views, and those few times when you do want to use those views, you can probably stand to wait a bit while UOAM draws the map. Also, there are many of you who only play on Trammel, and rarely visit Felucca (or vice versa). If you are short on disk space, it probably makes little sense to generate bitmaps for those views; just let UOAM render them on the fly. But if you have the space -- well then go for it tiger!

Finally, the slowest maps to draw are the maps that show the most area (1/8 zoom) so if you find that UOAM's on the fly rendering is fast enough for you at 1x zoom and you want to save a little disk space, you will still see enormous performance gains for a modest cost in disk space by generating one or more of the pre-rendered files at the 1/2 or 1/4 or 1/8 zoom levels.

The bottom line is that you need to make a choice. You need to decide how much disk space you are willing to sacrifice for speed. The choice is up to you.

Where Does UOAM Expect To Find These Files?

UOAM generates these files in your UOAM directory (wherever UOAM.EXE lives) however, it will actually search for them in a number of places. If you want to move them somewhere else (perhaps to a drive with more free space) there are a number of places you can try.

UOAM searches for data files in the following locations:

  • the startup directory (this is not necessarily the same as the UOAM directory)
  • the UOAM directory (where UOAM.EXE lives)
  • the UO directory (where CLIENT.EXE lives)
  • the UO CD-ROM (yes, I realize that you can't copy the files here but UO's files can be found here and so UOAM checks it)
  • the \UO directory

If it finds a data file in any of these locations it will be able to use it.

NOTE that for views that have a pre-rendered bitmap, it is not necessary to have UO's map files on the system (unless of course you want to play UO on it). So if you copy UOAM.EXE, MAP8.BMP and MAP2-8.BMP on to a second computer, you will have a system that is capable of acting as a stand-alone server which will be able to draw the normal map for both worlds at 1/8 zoom so you can watch everybody as they move about in the UO world. Any other view and any other zoom level would show a black map (which would still be functional in all other respects).

See Also