Sei sulla pagina 1di 4

Memory Management in PLS-CADD The following discussion applies to the 32 bit edition of PLS-CADD only.

The x64 edition is only limited by the amount of memory in your computer. Several industry trends are contributing to a desire to load ever larger XYZ point files into PLS-CADD. The wide availability of reasonably priced high performance LiDAR systems is one of them. Another is the use of PLS-CADD as a vegetation management tool. In both cases the resulting files can be a challenge to work with. This technical note will answer some commonly asked questions as well as give you the background information necessary to make intelligent decisions about managing this mass of data. For the sake of efficiency PLS-CADD stores XYZ data sequentially in a single piece of memory (an array). This provides for extremely fast operation, but imposes the requirement that the system have a contiguous piece of memory that is large enough to store all of your points. When Windows cannot supply this memory you run into trouble. One frequently asked question is: "how many points can I load"? The answer can be arrived at via a simple formula:
Maximum # XYZ Points = (Largest available memory block) / (Size of XYZ Point)

Each XYZ point consumes 48 bytes (assuming there are no plan or profile comments associated with it). The size of the largest contiguous block depends on which version of Windows you are running as shown in the table below:
Theoretical XYZ Point Limits for the 32 bit Edition of PLS-CADD Operating System Windows 2000 Windows XP Windows XP Windows XP Windows Vista Largest Service Pack Contiguous Block or Hotfix (MB) SP4 SP2 1133 550 Total Available Memory (MB) 1981 1969 1987 1961 1935 Number of XYZ Points (millions) 23.6 11.4 16.8 16.7 34.7

SP2 w/hotfix 809 894472 SP3 RTM and SP1 800 1668

Windows Vista x64 (also XP x64) Windows 7

RTM and SP1 RC

2047 1570

3999 1923

42.6 34.2

Note that these limits are taken from clean installs of Windows. It is possible that dramatically less memory may be available and a correspondingly fewer number of points may be loaded if the system has other software installed that is poorly behaved. In other words, the limits given above are the best that you can hope to achieve. The memory sizes listed are virtual memory, not physical memory (RAM). In all cases, we recommend you have at least 2GB of RAM installed in the system. The virtual memory is also known as the address space. The amount of address space that Windows makes available to PLS-CADD is ultimately what governs how many points you can load. You will note that Windows XP SP2 took a large step backwards in terms of the number of points which may be loaded. This is due to a bug in the original Windows XP which was fixed in Service Pack 1 and subsequently reintroduced in Service Pack 2. Microsoft has a hotfixavailable which fixes this problem in SP2. One of the primary benefits of Windows Vista is the increase in the number of points that may be loaded. Memory Preallocation Consider two different scenarios: In the first PLSCADD asks Windows for a large piece of memory and in the other PLS-CADD starts by asking for a small piece of memory and then repeatedly tries to grow it until it is the same size as the large chunk. Due to a problem known as fragmentation, you can often get twice as much memory in the former scenario as you could in the later. Restating this in a PLS-CADD context, it is better to preallocate enough memory for the maximum

number of XYZ points you could have than it is for PLS-CADD to repeatedly attempt to grow your XYZ memory as you add points. The F1/Survey and Terrain Features/Preallocate memory for XYZ points feature allows you to do just this. The only caveat is that you should not preallocate any more memory than you need since the memory reserved via preallocation is not available for other data such as raster or vector attachments, PFL points, etc. The preallocation dialog is shown to the right. How can I load more points? What can you do if you have preallocated memory and still cannot load all of your points? Here are a few suggestions: 1. If running on a 32 bit edition of Windows then upgrade to a 64 bit edition which will allow you to run the x64 edition of PLS-CADD. The x64 edition of PLS-CADD can access an effectively unlimited amount of memory. 2. If running on Windows XP SP2 then apply this hotfix available from Microsoft. It fixes a bug in XP SP2 that prevents PLS-CADD from making full use of the memory in your system. 3. Make sure that you do not have any attachments consuming memory when you try to load XYZ points. InDrafting/Attachments/Attachment Manager hide all of your raster images and detach any DXF files. Then save your project, exit PLS-CADD, restart it and reopen the project. 4. Make sure that you have filtered data and not the raw LiDAR data directly from the flight. Filtering LiDAR data down to the set of points that are meaningful for your design may allow you to avoid the entire problem of too many points. Note that not every LiDAR vendor provides a filtered data set. Just because you can load points doesn't necessarily mean you should. Each XYZ point occupies memory that could otherwise be used for PFL points, raster and vector attachments, etc. Further, many operations in PLS-CADD take a little more time with each additional point you load. So, you want to have enough points to build an accurate profile and detect all possible clearance violations, but no more than that. Further Reading

Technical note: Working With Image Attachments in PLS-CADD can be helpful when managing memory. Technical note: Transmission Line Vegetation Management in PLS-CADD. For hardware recommendations and additional information regarding x64 Editions of Windows read the Frequently Asked Questionsdocument.

2008 Power Line Systems, Inc. All Rights Reserved

Potrebbero piacerti anche