Xref, Demand Loading, spatial and layer indexes and INDEXCTL

Xref, Demand Loading, spatial and layer indexes and INDEXCTL

jmayo-EE
Mentor Mentor
5,843 Views
14 Replies
Message 1 of 15

Xref, Demand Loading, spatial and layer indexes and INDEXCTL

jmayo-EE
Mentor
Mentor

So if we go here to Help and look up INDEXCTL we see that this should be set ot 3 to maximize demand loading from xrefs.

 

"To receive the maximum benefit of demand loading, it is recommended that you save any drawings that are used as xrefs with layer and spatial indexes.

A layer index is a list showing which objects are on which layers. This list is used when the program is referencing the drawing in conjunction with demand loading to determine which objects need to be read in and displayed. Objects on frozen layers in a referenced drawing are not read in if the referenced drawing has a layer index and is being demand loaded.

The spatial index organizes objects based on their location in 3D space. This organization is used to efficiently determine which objects need to be read in when the drawing is being demand loaded and clipped as an xref. If demand loading is turned on, and the drawing is attached as an xref and clipped, the program uses the spatial index in the externally referenced drawing to determine which objects lie within the clip boundary. The program then reads only those objects into the current session.

Spatial and layer indexes are best used in drawings that will be used as xrefs in other drawings where demand loading is enabled. Drawings that are not going to be used as xrefs or partially opened will not benefit from layer and spatial indexing or demand loading."

 

Now if we go here,

https://knowledge.autodesk.com/support/autocad-civil-3d/troubleshooting/caas/sfdcarticles/sfdcarticl...

we are told to set INDEXCTL to 0 to maximize Civil 3D performance.

Can anyone explain why C3D should have this set to 0?

If you have personal experiance with Xref performance and INDEXCTL I would love to hear about it.

 

John Mayo

EESignature

0 Likes
Accepted solutions (1)
5,844 Views
14 Replies
Replies (14)
Message 2 of 15

Cadguru42
Advisor
Advisor

At my previous job I setup all our templates to always have a spatial index created. Load times were always fast and I never noticed any issues.

 

The firm I'm working with now is fairly new with Civil 3D (they've been using Microstation for many years) and the drawings always load extremely slow. They also use ProjectWise, so it could be related to that, but I've noticed other issues with how many XREFs they use and not using a template to start. I just checked and INDEXCTL is set to 0 in every drawing I've looked at. I'm going to play around and set it to 3 to see if I notice any speed increases. 

C3D 2024-2026
Windows 11
32GB RAM
Message 3 of 15

jmayo-EE
Mentor
Mentor

Awesome! Thx!

John Mayo

EESignature

0 Likes
Message 4 of 15

Jeff_M
Consultant
Consultant
A few years ago I saw a post which suggested setting INDEXCTL to 3 to help speed up a slow project. I think it was actually a reply to a post of John's, possibly by Tim Corey. At any rate, after setting all of my XREF dwg files to 3, plus changing the 2 indexes as suggested, I started getting major crashes, errors, and all around 'bad stuff'. It took me a day to get things working again, having to go to backups. Now, if these were all setup with those settings to begin with, it very well may work just fine, but changing drawings that had been in use for some time was a disaster for me.
Jeff_M, also a frequent Swamper
EESignature
Message 5 of 15

jmayo-EE
Mentor
Mentor

I am wondering about changing mid project too Jeff. I would think that every file in a project would need to be opened and saved to have the indexes created or deleted.

 

So you have it set to 0?

John Mayo

EESignature

Message 6 of 15

Jeff_M
Consultant
Consultant
Yes, I have it at 0 now. Afraid to try it in a new project at 3 due to that past experience.
Jeff_M, also a frequent Swamper
EESignature
Message 7 of 15

jmayo-EE
Mentor
Mentor
Accepted solution

FYI, from Autodesk Support.

 

I understand you are asking about Index Control and what are the preferred settings. I have to tell that this is an excellent question but the answer to it is - it depends.

 

In situations where you have multiple xref files referenced in your model and some of those are clipped or have number of entities on frozen layer and so on then those entities may create performance degradation. These entities, even as not visible, can create drag on the system. With Index control (INDEXCTL) set to 0 no indexes are created. There are two kinds of indexes in the INDEXCTL settings. Layer index (setting 2) is an indexed list of xref drawing of what objects and on which layers. Spatial index (setting 3) basically organizes objects based on their 3D location. With INDEXCTL set to 1 in xref drawing program will not load those entities on frozen layers when the xref is loaded. Setting it to 2 will ensure that entities xref clipped and not visible will also not be loaded. The setting of 3 for INDEXCTL ensures that both 1 and 2 will be done. However setting INDEXCTL to 3 for all files will provide no benefits if there are no referenced files and will eventually make the drawings bigger as it maintains lots of indexing information never to be used. Having default settings of 0 is default for that reason. In the situation where you have many xrefs, clipped xrefs, frozen layer then setting INDEXCTL to 3 may be beneficial regarding performance.

John Mayo

EESignature

Message 8 of 15

jmayo-EE
Mentor
Mentor

If you folks are still monitoring this thread and have 2017 installed please see if 2017 defaults to indexctl=0 or 3 and post back.

 

 

John Mayo

EESignature

0 Likes
Message 9 of 15

Jeff_M
Consultant
Consultant
0 is the default in 2017, John.
Jeff_M, also a frequent Swamper
EESignature
Message 10 of 15

jmayo-EE
Mentor
Mentor

Thanks Jeff

John Mayo

EESignature

Message 11 of 15

Anonymous
Not applicable

I am working in 2015 and have one file in particular that is almost 1/2 a meg. Issue #1 I have the enable with a copy on my computer and both my coworkers so i am not sure why when they open a sheet file that it locks the model files until it is done opening. Any help in regards to this issue would be greatly appreciated. Issue #2 I have indexctl set to 2 in my references and I discovered the sheet files are set to 0 and they take up to 10 min or more to open. I think if I set it to 3 that it will help but not sure if this will solve issue #1 as well.  Greatful for any assistance provided. 

 

 

0 Likes
Message 12 of 15

Anonymous
Not applicable

I set my model file to 3 for demand load and now the sheet files wont open and I believe they are set to 0 whats the best settings to get this to work?

0 Likes
Message 13 of 15

Cadguru42
Advisor
Advisor

Update: I went through over 150 drawings and set INDEXCTL to 3. This has sped up opening drawings by a lot, especially those with many XREFs. Many of these XREFs have layers frozen and this helps speed things up by not having to load objects on frozen layers on open. Some drawings that used to take 15 minutes to open now open in around 7 minutes with just this change. 

C3D 2024-2026
Windows 11
32GB RAM
0 Likes
Message 14 of 15

Anonymous
Not applicable

What is the demand load set at for the 150 drawings?

0 Likes
Message 15 of 15

Anonymous
Not applicable

Sheet file is set to 3 for demand load. 

0 Likes