[Go to Previous] [Go to Next]


Performance Tuning

If you are running into issues with memory consumption or slow response of McIDAS-V, there are several things you can do.

The amount of memory used by McIDAS-V will depend on the size of the datasets you use and the types of displays. Datasets rendered as 2D depictions (plan views - contours or color shaded displays) use much less memory than 3D displays (isosurfaces, cross sections). Large datasets (images, dense grids) will use much more memory.

There are several features in McIDAS-V that allow you to more efficiently view large datasets:

Temporal/Spatial Subset of Data

Some data sources allow you to subset the data temporally and spatially. You can set these properties for all fields in a dataset through the Properties menu of the data source (double click on the Data Source in the Field Selector) or you can set these for individual field using the tabs in the lower right corner of the Field Selector. For more information, see Data Sources.

Memory Allocation
By default, McIDAS-V allocates 512 megabytes of maximum memory for Java. This is usually the optimum amount for a Windows system with 1 gigabyte of physical memory (RAM). Windows takes up half of that anyway and once Windows has to start swapping, performance severely degrades. On a Linux system, you can probably get away with 700m for 1 GB of memory as it does a much better job of swapping. All this also depends on what else you are running on the machine and how much memory those applications use.

If your system has more than 1 GB of memory, increasing the amount available to McIDAS-V can improve performance for displaying large datasets. You change the amount of memory used by McIDAS-V by editing the Maximum Heap Size in the Advanced tab of the User Preferences by selected Edit->Preferences from the Main Display window. The new amount of memory will be saved and used in subsequent sessions. Do not use the maximum amount of memory on your machine as some is needed for the operating system itself. If the system has to use swap memory, performance will degrade as well. For 32 bit operating systems, it is recommended to set this to no more than 1250 MB (i.e. -Xmx1250m). The maximum value for 32 bit operating systems is 1536 MB, while 64 bit operating systems can use all of the RAM available. For more information see Running McIDAS-V.

Data Caching

By default, McIDAS-V caches the data used for a display in memory. If a field is used more than once for several displays, caching the data prevents an additional reading from of the data from disk or a remote server. If you are only displaying/using a field (i.e. not using it for multiple displays or calculations), you can keep McIDAS-V from caching it in memory. You can turn off data caching by unchecking the Cache Data in Memory checkbox on the Formats & Data tab of the User Preferences window (accessible from the Edit->Preferences menu).

Maximum Grid/Image Size

You can also set the maximum size of a grid or image that will be displayed. This will allow you to download a large image or grid, but it will be re-sampled before displaying if it is larger than the maximum size you have asked for. You can set the maximum image/grid size under the Formats & Data tab of the User Preferences window (accessible from the Edit->Preferences menu).

Fast Rendering

By default, McIDAS-V will try to adjust the data layer (images, contours, etc.) renderings to account for projection seams. This is computationally intensive in some cases and slows down the display of data. If you change your User Preferences setting to Use fast rendering, McIDAS-V will not try to account for the projection seams. If you are displaying a layer of data in its native projection, this will result in faster rendering of the data depiction. However, if you have several layers of data, each from a different data source and on a different projection, you may see anomalies in one or more layers (spurious lines, portions of images). If that occurs, you can turn off fast rendering for the layer(s) by unchecking the Use Fast Rendering checkbox in its Properties dialog, or set your system preference back to not use fast rendering.

A separate fast rendering option for map layers is available in the Map Controls. Some maps display better when fast rendering is turned on, others display better when it's turned off. If a map displays poorly (e.g., has missing line segments), try switching its fast rendering settings to see if it fixes the problem.

Parallel Rendering and Data Reading
If you are running McIDAS-V on a multi-core machine you can configure it to render individual time steps in parallel. You can also do remote data reads in parallel. This typically results in a 50% reduction in overall data reading and rendering time.

The number of Rendering and Reading java threads can be set on the command line when starting McIDAS-V. To set these values, run the following when starting McIDAS-V (substitute in a numerical value in place of # in the commands to set the rendering and reading thread values):

For rendering McIDAS-V will render each time step in parallel. Note: Since the rendering processes can allocate temporary memory, it is possible to exhaust the available memory if too many threads are running concurrently. Linear speedup with the number of cores available for rendering (probably due to memory contention issues) is not seen, however a 40%-50% performance improvement is seen for complex rendering tasks (e.g., contouring).

The second preference is used when reading individual time steps of data from remote ADDE and OpenDAP servers. This parallelization takes advantage of the multiple cores available on the remote server and somewhat the available bandwidth on the network. A linear speed up in accessing remote data based on the number of cores on the remote server (ADDE or OpenDAP) has been seen. However, if you load the server too much your performance is degraded, probably due to file system issues.


[Go to Previous] [Go to Next]