Code Red > .NET

Why so many dll's?

<< < (2/2)

Keith™:
Lets say for example that you loaded every module, every command set and every function available in AutoCAD and your vertical product. It would take several minutes to actually get the AutoCAD window to open ...

Just to see how much longer, start AutoCAD with a new drawing using a blank template, timing it as the program loads, then close AutoCAD and re-open AutoCAD selecting  one of the prebuilt templates to load. Time that ... you will see a significant decrease in performance and increase in time.

Surely you know that it is much faster to load 120 command interfaces than to load 1200 and the memory needed to utilize the unused commands would make the program respond much slower.

The reason for the delay is the load time needed for that particular module, but if you multiplied that times the 842 dlls (arx are simply dll files with a different extension and an Arx dll entry point) you would be waiting perhpas minutes to load AutoCAD instead of seconds.

Glenn R:
The issue is a lot more complex than that blanket statement. From a software engineering point, if you can fix/change one module, it's a lot easier than rebuilding the whole executable.

Think of it like an engine in a car. You don't replace the whole engine if it's acting up.....you replace just the part that is stuffed.

This is basically the paradigm used in OOP. Code re-use and maintainability through compartmentalising modules.

However, having said all that, Acad is getting a LOT more complex, which requires more complex code...this comes at a price.

Have you noticed the .exe's in task manager when Acad is running? They have included these 'extra' services/dll's in for the last few releases, including one that is a bootstrapper of sorts. It decreases Acad load time specifically, because they realised it was getting slow.

Try this: Unload wscommcntraccon.arx when Acad is running and take note of your speed for a while after. I've found it's a speed killer...it's the communication centre. Unloading it will get rid of an entry in task manager btw....an executable file of the name WsCommCntr1.exe.

Incidentally, have you ever crashed out of Acad, then fired it up again and it takes essentially forever? This is because it hasn't killed a few running entries in taskmanager. You need to kill these entries, then Acad fires immmediately.

Also, if you're running AcadMap 2006 (don't know whether LDD has this) but it has a new 'skin'...you'll know what I mean as it has a 3d look to the applications title bar etc. that is not the same as previous releases.

If this is the case, try typing in 'MAPSKINMAP'....this will toggle the 'skin'.

I've noticed a significant slow down when the 'skin' is enabled.

Navigation

[0] Message Index

[*] Previous page

Go to full version