By Process Monitor, I was referring to
this application, which can monitor file system (and registry, etc) access by applications on the machine. It can generate a lot of output, and so provides ways of filtering based on process name, etc.
As far as trouble with shares and the like, even when the files you're accessing are on the local machine, it may be that they contain paths referencing non-existent shares. If you open such a file, it may take some time before the OS gives up looking for a referenced texture that's supposed to be located \\somewhere\that\doesnt\exist\tex.jpg. If there is a tex.jpg able to be found in the search paths, then when you save the file again, the path will be "fixed" in the newly-saved file, but this will only work for those textures that are able to be fixed. You have apparently tried exactly this strategy, already, with only fleeting success.
For files referenced, which are not able to be fixed, though, another factor may come into play: if you try to find a file on a non-existent share, the OS isn't going to wait the full timeout for every request; it's going to say, hey, I just checked, and this server doesn't exist, so it may quickly tell us that, no, we don't find that file. However, after some period of time, or when closing/re-opening the application, etc, it may make the full effort once again.
So, it may be useful to actually know the paths you are dealing with, and for that, you can use a little python, like this:
Code: Select allfrom pymaxwell import *
import os.path
def print_dependencies(path, x):
print("\nDependencies for '%s':\n" % path)
d = x.getDependencies()
if not len(d[0]):
print('\tThe file has no dependencies.')
else:
for x in d[0]:
print('\t%s' % x)
def list_dependencies():
# Create a scene.
mw = Cmaxwell(mwcallback)
# Try to read an MXS file:
rel = 'library/scenes/simball.mxs'
abs = os.path.abspath(rel)
if mw.readMXS(abs):
print_dependencies(abs, mw)
else:
print("Failed to read '%s'." % abs)
# Try to read an MXM file.
rel = 'materials database/mxm files/leather.mxm'
abs = os.path.abspath(rel)
mat = mw.readMaterial(abs)
if not mat.isNull():
print_dependencies(abs, mat)
else:
print("Failed to read '%s'." % abs)
list_dependencies()
All this said, I can not give you a definitive answer as to what may be causing the slowdown in your specific case. If you run the above script in pymaxwell, you'll see that its textures point to a share that doesn't exist, and here on my machine, I have no lag at all with opening that file in Studio. In other cases, I know that I've waited a while (on the order of tens of seconds) for the OS to give up looking for something on a non-existent share. So this is all just meant as general information, which might or might not help in your specific circumstance.