Memory Management in PLS
Transcript of Memory Management in PLS
-
8/14/2019 Memory Management in PLS
1/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 filesinto 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 enoughto 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 SystemService Pack
or Hotfix
Largest
Contiguous Block
(MB)
Total Available
Memory (MB)
Number of XYZ
Points (millions)
Windows 2000 SP4 1133 1981 23.6
Windows XP SP2 550 1969 11.4
Windows XPSP2 w/hotfix894472
809 1987 16.8
Windows XP SP3 800 1961 16.7
Windows VistaRTM and
SP11668 1935 34.7
-
8/14/2019 Memory Management in PLS
2/4
Windows Vista
x64 (also XP x64)
RTM and
SP12047 3999 42.6
Windows 7 RC 1570 1923 34.2
Note that these limits are taken from clean installs of Windows. It is possible thatdramatically 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, notphysical memory (RAM). In all cases,
we recommend you have at least 2GB of RAM installed in the system. The virtual
memoryis 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 ahotfixavailable 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 twodifferent scenarios:
In the first PLS-
CADD asks
Windows for a
large piece of
memory and in the
other PLS-CADD
starts by asking for
a small piece of
memory and thenrepeatedly 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
http://support.microsoft.com/kb/894472/http://support.microsoft.com/kb/894472/http://support.microsoft.com/kb/894472/ -
8/14/2019 Memory Management in PLS
3/4
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. TheF1/Survey and Terrain
Features/Preallocate memory for XYZ pointsfeature 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 editionwhich 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 thishotfixavailable fromMicrosoft. 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 youtry to load XYZ points. InDrafting/Attachments/Attachment Managerhide 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 fromthe 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 Attachmentsin PLS-CADD can behelpful when managing memory.
Technical note: Transmission LineVegetation Managementin PLS-CADD. For hardware recommendations and additional information regarding x64
Editions of Windows read theFrequently Asked Questionsdocument.
http://support.microsoft.com/kb/894472/http://support.microsoft.com/kb/894472/http://support.microsoft.com/kb/894472/http://www.powline.com/products/photos.htmlhttp://www.powline.com/products/photos.htmlhttp://www.powline.com/products/photos.htmlhttp://www.powline.com/vegetation/dangertree.htmlhttp://www.powline.com/vegetation/dangertree.htmlhttp://www.powline.com/vegetation/dangertree.htmlhttp://www.powline.com/presales.pdfhttp://www.powline.com/presales.pdfhttp://www.powline.com/presales.pdfhttp://www.powline.com/vegetation/dangertree.htmlhttp://www.powline.com/products/photos.htmlhttp://support.microsoft.com/kb/894472/ -
8/14/2019 Memory Management in PLS
4/4
2008 Power Line Systems, Inc. All Rights Reserved