Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X
Using Creo 3 M010. I have a large assembly and a drawing with 16 sheets. It's very slow to work with. I must click on a drawing view, wait 5 seconds, perform my action, wait 5-15 seconds for it to update, then repeat this process over and over. I can't even get RMB to show up on some views.
I have a quad core watercooled i7 3Ghz, 12Gb DDR3, 5870 GPU (watercooled), 500Gb Samsung Evo SSD. My machine is no slouch. What I don't understand is what's limiting Creo. CPU usage remains below 20%, RAM below 8Gb, SSD below 5%, GPU below 5%. I've tried changing the GPU config options (opengl/win32_gdi) and nothing seems to help. If software is running slowly, I can always point to a limiting component of hardware, but with Creo, there's nothing to point to.
Solved! Go to Solution.
The processor/OS is probably attempting to parallelize the single execution stream for Creo by spreading it across multiple cores, shortening the fetch time, but then blocking when waiting for previous instructions to finish. In any case, the effort to parallelize an application is daunting as it requires managing access to shared memory by multiple processes.
Even now it may be worthwhile to create simplified reps, including part simplified reps to deal with the unnecessary threads. If the customer or whoever won't allow that, recall that recently an Uber driver pulled a $1600 fare from someone who should have known better. OTOH it may be you accepted this task for a flat fee and in the future you will know better.
Except in a few special cases, Creo is limited to the single core speed of the processor. 100% CPU usage of one core will show up as 25% CPU usage (with hyperthreading off or 13% with hyperthreading on.) More than likely the bottleneck is the CPU. This is why overclocking is so helpful with Creo.
There are some techniques to speed up drawing performance with large assemblies. You should be able to find them by digging around here on the community.
On the large drawings, I use the selection filter in the bottom RH corner. It helps a lot when you know you are going to be selecting certain types of items repetitively.
Learn and use simplified reps extensively. Manage them agressively. Use them in your drawings.
Large assy drawings are horrible.
Agreed. Unfortunately I am tasked with performing revisions to a large assembly that was not modeled... smartly. No simplified reps, all fasteners have modeled threads, etc. So I have to work with what I have.
I've seen conflicting information about multithreading in Creo. From my experience, it seems like it is. I notice all 8 cores (w/ HT) showing about even usage. Definitely not the typical one-core-maxed-out while all others are at 5%, that is common with single threaded applications.
I had found this on PTC support which helped:
http://support.ptc.com/carezone/tutorials/files/advdraw_site/Large_Assembly/Large_assy_D.htm
But not enough to write home about.
The processor/OS is probably attempting to parallelize the single execution stream for Creo by spreading it across multiple cores, shortening the fetch time, but then blocking when waiting for previous instructions to finish. In any case, the effort to parallelize an application is daunting as it requires managing access to shared memory by multiple processes.
Even now it may be worthwhile to create simplified reps, including part simplified reps to deal with the unnecessary threads. If the customer or whoever won't allow that, recall that recently an Uber driver pulled a $1600 fare from someone who should have known better. OTOH it may be you accepted this task for a flat fee and in the future you will know better.
Thanks, I had kind of figured that was the case. This is a DoD project and was created by a defense contractor. I'm sure they were paid extremely well for it; shame they couldn't use some proper modelling techniques. I've already reworked a decent amount and have created a few simplified reps. It helped, but a full revamp is needed but we don't have the time or funding to do so.
Interesting note, from my research, it seems all CAD systems, at least from a modelling and drawing sense, are single threaded. Add on features, like FEA and rendering, are sometimes multithreaded.
@nsgoldberg wrote:
Interesting note, from my research, it seems all CAD systems, at least from a modelling and drawing sense, are single threaded. Add on features, like FEA and rendering, are sometimes multithreaded.
It has to do with the building of features and that is a hierarchical order. You can't put a hole in a feature that doesn't exist yet! The other things are done on the whole model so they can be multi-threaded and reconstructed for the final results. NC tool path generation is also multi-threaded.
The system can take a NC process of 8 passes and do 2 passes on each core of a quad core then merge them back into the final complete path. cuts programming time by 25%.
I get the reasons why it's single core, although I think there are significant performance gains that would be possible with some tricks to make it multithreaded. The issue is a (relatively) small user base and a high cost to completely revamp the software to take advantage of multiple cores. Doing so won't significantly increase the user base, so it just doesn't make financial sense for PTC.
Since Pro/Mechanica was developed after the advent of multiple cores, it was written to take advantage of them. I'm sure it's the same for the NC package.
If it is just a small change you can try opening the drawing with the "no views" drawing rep and then just turn one view at a time as you need to change them. This will help a little bit.
I found that hiding the fasteners that had thred details (helical cuts) made all the difference. Pity the software can't recognize this processor intensive geometry and automatically simplify until specifically called for. For instance; rendering.
Why do you need your fasteners to show actual threads? This is the reason cosmetic threads exist.
If you must have actual threads for analysis work, put the fasteners into a family table and suppress the thread feature in one instance and show it another instance. Then you can switch between shown and cosmetic.
This was a large assembly from a customer with hundreds, possibly thousands of fasteners already placed.
If it were my own model they would all have cosmetic threads. And I would have used simplified reps.
It might be worthwhile to rework the fastener models. It's a shame when users over-detail models without regard to final usage. It's so easy to do a cylinder and then, if cosmetics is really, really important, just create a spiral datum curve to show extents. But no some users spend an afternoon getting the threads cut just right, complete with lead-in and runout. And then there are those who download garbage models that vendors have hacks put out because it saves 10 seconds over save-as on a simpler fastener and changing the dimensions.
Worst one I came across - someone downloaded a model of a generator. Took forever to open. Why? Because the model included the rotor, the windings, the brushes, and embossed company detail information on the data plate.
I don't think it was intentional, I think it was just poor design practices that stemmed from grabbing a bunch of McMaster-Carr models, instead of having a proper fastener library.
In any case, the changes were made and I've moved onto other projects. Thanks for the help all.
May times parts downloaded from suppliers and manufacturers websites include threads, especially fasteners. Example; McMaster Carr, bolts; there seems to be no option to download with cosmetic threads. The fastener (screw) tool in Creo works well however.
A follow up... using manufacturers models allows P/N to populate BOM helping with the sourcing/purchasing process.