Saturday, May 04, 2019

The Problem is Civil 3D

Have you ever heard an Autodesk employee (or an independent Civil 3D expert) blame you, the user, for Civil 3D being slow? Often times you are told to split the objects into separate drawings. Told to delete labels from the drawing. Other times you are assailed on your choice of computer. Telling you that all your problems will be solved if only you spent more money on a video card or RAM. After 12 years of using the software, computer processing power has increased greatly while Civil 3D has not even come close to using Carl Bass' idea of infinite computing power, heck Civil 3D can't even use the four processors my laptop has.

When is the real cause going to be blamed? The slow inefficient software called Civil 3D.

To demonstrate it's the software's fault, simply create a new drawing, then create an alignment, then add a line segment of any length. I started with a length of 1,000 feet. Everything worked fine and the image shown below was displayed on the screen. 

I count around 12 labels shown on the screen.

Now keeping the same zoom level, create a line segment of 10,000,000 feet (~1,894 miles). Notice now that Civil 3D takes a long time. I stopped counting seconds after 60.

There are still around 12 labels shown. What the heck is Civil 3D doing? It's drawing all of those labels not on the screen! Why in the world do I need to wait for all of those labels to get drawn? Because its easier for Autodesk to blame you, the user, rather than making the fixes to improve Civil 3D's performance. In this case, Autodesk could simply get the coordinates of the current viewport and only draw the labels that need to be shown instead of all of them. If you have ever printed a drawing with lots of Civil 3D objects and wondered why it takes forever? This is the reason! It's drawing, and making sure everything is up to date, for all of the Civil 3D objects in the drawing for each viewport! So if you are printing 100 sheets with 2 viewports per sheet you are updating all of the Civil 3D objects at least 400 times! So the more objects you have the slower it's going to be. This seems like a simple geometric problem to solve. Heck, each AutoCAD entity has a Geometric Extents property just for this reason. It's unfortunate that Civil 3D doesn't take advantage of this property.

When a user zooms out, instead of showing all of the labels start to filter them based on either a user setting or a default value.

If a user tries to select the alignment labels Civil 3D freezes again, this time attempting to draw all of the label grips!

A simple formula lets us know how many labels grips would need to be drawn. Why isn't Civil 3D using AutoCADs system variables to GripObjLimit to prevent these types of drawing slowdowns? I guess Autodesk is too busy blaming its users and the user's hardware to find the time to fix the underlying issue.

Now that the post is over I'll still be waiting for Civil 3D to finish trying to draw all of the label grips. Thankfully I'm not working on a project, but often times when these long needless delays occur costing me time and money. Where can I send the bill?

PS. After 15 minutes the Civil 3D still hasn't finished trying to draw all of the grips. I guess I need to split up my alignment and get a better computer.


Νίκου Ερωτόκριτος said...

Sorry but in my computer i cannot reproduce this problem

Unknown said...

But it sure is a good thing Civil 3D costs so damn much. Who told developers like Autodesk and Microsoft that users want a newer version of buggy software every year? What we REALLY want is software that is released on a biannual or triannual basis where the developer spends the time between versions FIXING THE BUGS and OPTIMIZING THE CODE. Then, after you have done all of that and released patches to existing version users for the fixes, come up with some new functionality for the next version and sell it to those who want the new features. I would rather pay for the entire software package every 5 or 6 years than pay an excessive yearly fee for software that requires me to also upgrade my computer every year for it to run properly. Let me upgrade my computer when I upgrade the software at my convenience.

I don't have a lot of hope that anyone at Autodesk will decide to change their business model. Autodesk has always been notorious for terrible customer support, and they are getting worse by the year. They use tricks like not allowing perpetual license users to access product or customization manuals for Autocad/Civil 3D 2018 or earlier to try and get people hooked on their subscription fix. Autodesk. Drug pushers for engineers.


Blog Widget by LinkWithin