Hardware and performance

I just bought a new computer. You can read about it here. There was nothing wrong with my old computer, it just didn’t work very well with newer versions of SolidWorks. I’ve done a couple of projects (in SolidWorks) recently where I would wait 15 – 20 seconds between rebuilds, and I was living with some graphics glitches where the image of the model would freeze up until you resized it or something. SolidWorks has this philosophy that they are always developing for tomorrow. Which sounds great on paper, until you try to work with yesterday’s hardware and tomorrow’s software today. As my grandmother is fond of saying, “So heavenly minded they’re no earthly good”. If you use SW, you have to buy new hardware every year to be mostly sure you’re not going to have any conflicts. The conflicts are mainly around the graphics card. Buying every other year, there are no guarantees. And buying a new computer or just the graphics card once every 3 years, you’re almost certain to run into a conflict between your CAD software and your hardware/drivers. It’s an attitude that is great for new and prospective customers, but once you’ve been a customer for more than a year, it’s not so great any more.

A couple of years ago, Solid Edge came out with what seemed at the time like a fully ridiculous claim – that it was 100 times faster than history based systems. Initially, I have to admit I thought this was a scandalous lie. But when you look at specific features, yeah, it was possible. In fact, it turned out that 100x might have even been kind of a conservative estimate. If a change in SolidWorks has a rebuild time of, say 40 seconds, and you can do that in less than half a second in SE, then it’s true.

So let’s try it. One of the rites of passage when you get a new SolidWorks computer is to do a rebuild on Anna’s punch holder model.

Ok, no. Not that kind of punch, and not that kind of model.

Try this one on the right. I know, not as interesting. It’s kind of an informal benchmark that the SolidWorks community has adopted.

After you open the part and rebuild it in SW, post your time to a Google Docs spreadsheet. If you are interested in this, you can read about it here.

So let’s do a test, using Anna’s benchmark part and make a change to it in both SolidWorks and in Solid Edge.

Changing the overall length from 15″ to 16″ took an astounding 2200 seconds, which is about 37 minutes. That was just the rebuild time, not including the time to find the dimension and change it, which only took seconds.

In Solid Edge, the process took about 20 seconds. I had expected it to be instantaneous with the Live Rules suspended, but something still makes it grind. For those that are counting, that’s 110 times faster.

Given, the punch holder has a lot of modeling “mistakes”, or “best practice transgressions”, but that’s kind of the point. In Solid Edge, there is no such thing as a “best practice transgression”. It’s a mistake even a beginner can’t make. And obviously, Solid Edge in this case was working on imported geometry, without the “benefit” of all the feature definitions in the live part.

Why did the part take that long to rebuild? Even by SW standards, 37 minutes is ghastly. If you just rebuild it from a CtrlQ, it takes about 41 seconds, but when you change a dimension, it has to do a lot of recalculation. It spends most of the time on the Pattern5, obviously. Large patterns are notorious in SW.  I suppose editing the pattern in SE would be a pain, but it couldn’t be as much a pain as waiting 37 minutes for it to rebuild.

Oh, and for Rick McWilliams, the SolidWorks part is 24 mb and the Solid Edge part is 12.4 mb.

So the point here, to me, is that Solid Edge does not seem to bring hardware to its knees quite as quickly as other history-based systems you might know. I think if I were using Solid Edge, I wouldn’t have had to buy this new computer.

If anyone wants to download this part and play with this yourself, go to Anna Wood’s site.

I’m sure there are things that slow down Solid Edge. Someone mentioned Family of Parts was slow. What kind of hardware are most people using with Solid Edge? One thing I did find was that on the old computer, I had a problem with the Help window not wanting to move. This is not a problem on the new computer. It may have been a graphics issue. I never did anything to the old computer to accommodate SE.

Updated: May 18, 2012 — 11:19 pm

28 Comments

  1. Yup well theres no arguement to be made for persisting with history there other than to be bloody minded. Changes are a fact of CAD life and SW rebuilds are definitely unproductive and frustrating particularly in cases like that. Pretty disruptive to user focus/creativity as well. Imagine if you changed the dimension in SW are then realised you accidently got it wrong…doh…most likely ESC wont work either. I suppose you could kill SW if you had saved recently but assuming not there’s an hour gone and you havent really done anything. :( I wonder how fast SE opens a complex part or assembly in comparison? any difference due to direct/history? Incidently I also saw that same Help problem but the pc I used for the trial was 5 years old and running XP…didnt want to mess the registry around on my usual pc. It was a little offputting though to discover a bug within 5-10 mins of starting SE for the first time and accessing the Help of all things. Small issue but not a good look. Lets hope they get it fixed soon ;)

    1. Steve,

      Thanks for posting that. A couple of things. I did the test and got about 32 seconds. Didn’t have a very handy stopwatch.

      Anyway, is there a 64 bit version of ST4? I’ve only got the 32 bit version. Maybe they only give out 32 bit for eval licenses.

      Ok, so it looks like if I want to slow down SE, drawings of long helical features will do it. Same with SW actually. I’ll bet a lot of extruded text, or basically anything that makes tons of edges on a drawing will do the trick.

      Cool. Next stop: Drawings.

  2. The punch holder has very little basic design intent information. I would expect that the base model sketches can be represented in 100KB. The pattern of rectangular holes is say 64 bytes to define the hole, 16 bytes to set the spacing, 16 bytes to set the number of repetitions. So 96 bytes for the main conplex feature. Say that there are 100 of these “complicated” sketches, maybe 20 different features. I get about 10KB to represent the punch holder geometry.

    I think that the information content in a model is related to the number of keystrokes and mouse moves required to create it if it were created perfectly in one pass. I am probably 10X generous in my estimate of the information content.

    So Solidworks is 240X oversize, and Solid Edge is 120X oversize. If the software did a small amount of arithmetic you could do with a hard disk 100 times smaller. A large memory stick would do. The files might be so small that nothing wold ever need tobe deleted on a memory stick. You could download it from the cloud in a blink.

  3. I have borrowed a SW2011 to see if i need to upgrade from SW2007. A few small bugs have been fixed, a bunch of UI bugs have been added, the command manager is clunky, the glowing highlight covers up details, slower, needs more memory, realview environment and paint is very glitzy, icons are fuzzy on a low contrast background, splines are harder to control.

    The files get larger every save. All previous file names are saved along with directory details, all deleted features are saved but useless, very low density encoding of features.

    Everytime I try some feature to get a better shape, and subsequently delete it that is saved in a completely useless form.

    I hope SE has some better ideas here. Matt please use a bit editor to check out the file.

  4. Matt, I changed the length and it ran for about 116 seconds, the same if I did a control q.. This was on 2011 sp5 and 2012 sp3 on my 3 year old laptop (2.8ghz DualCore, 8gb ram) which is far slower than your new rig considering you get 41 secs on the control q rebuild.

    Maybe its the “verification on rebuild” setting. I know you need it on for complex organics shapes but this part shouldn’t need that level of body checking.

    1. Jason, Yeah , it turns out that VOR was turned on. But this was a brand new installation of SW on a brand new computer right out of the box. So it was a default setting, along with ISO dimensioning and First Angle projection.  I guess SW is not paying very good attention to default installation settings.

      VOR has always been a workaround for slow error checking.

      Comparing Move Face against ST is lame. I’ll do a blog post next week comparing the two.

      Anyway, just out of curiosity, I went ahead and turned off VOR and the rebuild went back down to 41 seconds. Then I used a Move Face feature to do the same edit, and the rebuild time went up to 67 seconds. So it added 50% for that one edit, and that rebuild time is added to the whole model. If you want to edit the width, that will likely add another 26 seconds, and so on. In SE, edits don’t add rebuild time. The only thing that adds rebuild time is topology (number of edges/faces), as far as I know.

      1. tsk…tsk…. sponsored sites ;) perhaps we should make that a factor of 2 or 3 then? still it all adds up.

        1. Well, part of the point was that using SW’s own default settings, rebuild time is awful. You have to use a workaround to get it so it’s only 2-3 times longer. Can’t really blame anyone but SW for the default settings.

  5. How much times does it take for solidworks to do it with a move face? That’s a better comparison i think, synchronous move VS move face.

  6. Did you try enabling Feature Freeze before doing the move face?

    On my relatively slow Lenovo laptop the SolidWorks move face rebuild time was about 32.5 seconds, with zero rebuild time for the previous history based features.

    Also, was the SE file an imported model, or native format?

  7. That last point by Johnny is critical. You are comparing native full feature tree with imported dumb solids. Export the part as parasolid. Import it. Try move face or any direct modelling operation. A lot faster. We do this “trick” when we version out files we send to tooling. Any mods we try to do on the issued dumb data.

    1. Kevin
      You are probably right that there is a difference between editing the dumb solid and a parametric part (either sync or hybrid) modelled from scratch in SE. If I can get the time I’ll remodel the part and see what the difference is.
      Roger

      1. I thought I’d give Anna’s Punch Holder test a try today – my machine scored 45.7s, so quite simialr spec to Matt’s.

        I saved the model to a parasolid file, then imported it into an empty SW file. I selected the move face tool and used the one click fast selection to select the faces at the end. Couple of issues then:

        1. The Move handles appear in the centre of the part so very difficult to select.

        2. The time taken to move was about 25 seconds initially, then about 4 or 5 every time I moved the handles interactively. You can type in the value as well, but it still takes 4 or 5 seconds to update the preview.

        Out of interest I exported the part as a STEP file and imported into another of the apps we use – SharkFX (v7.1)

        In Shark, the move face tool took about 12 seconds. Shark is based on ACIS.

        What does this tell us? Really not sure, aside from the fact that files with a lot of topology take time to process. It seems the kernels (ACIS and Parasolid) cannot yet localise move face operations that well yet. As Matt said, I would have expected SolidEdge to move this face instantaneously. The fact that it doesn’t identifies an underlying issue with these core geometry operations in the major kernels.

        I can recall the initial ST launch demo moving ribs in a complex part – instantaneously. So why is this part different? It is pretty basic in geometry terms – just a block with lots of holes. If nothing else it proves that even a simple realworld part can scupper any canned demo :-)

        Something for the kernel guys to work on I think – when you make localised edits the effect should not have to be a global underlying calculation of geometry. Now I’m not a coder. I have a little understanding of “under the hood” but not that much. All I care about is the end user experience. As far as I am concerned, this shows that we are a long way away from sorting even basic geometry issues at the kernel level. It doesn’t matter what system you are using – SolidWorks, SolidEdge, ACIS or Parasolid – the basic performance is similar.

        Now I’d really like to see how other kernels handle this. Pro/E? CATIA? VX? Rhino?

         

         

         

  8. A interesting comparison would be between SolidEdge and Spaceclaim. I’ll see if Blake Courter wants to pitch in here :-)

  9. Matt, any chance you could create an ordered version of the part in SE and make the exact same dimension change.  That way there is a direct comparison between the way the history based part of SE compares with SW.  (I know the idea of SE is to change the way we work but I am curious about both workflow advantages as well as how good SE is at history based modelling)

  10. @Steve

    I’d bet that the difference between solve times is going to be pretty identical since the 3D and 2D solvers and modeling kernels are the same between the two pieces of software.

    1. That’s why I am curious, same kernel but does either one have more efficient code using it.  The way the part rebuilds could come into play.  Maybe after an edit one rebuilds the whole part from the top, but maybe the other rebuilds starting at the edited feature.  I dont know.  NX also uses the same kernel, but is said to be better, maybe it has more efficent code.

      I am curious as I use inventor and am thinking about switching to SE, which is why I am following this blog.  In a head to head ordered test with a complex sweep, SE took 17 sec, Inventor took 6.  Different kernels I know and I admit that I am more interested in large assembly rebuld times not so much individual parts.  Again it depends on the logic in the code as to how edits are handled.  Inventor seems to rebuild parts that it shouldnt waste time on, so whilst at part level its faster (for my sweep at least), maybe at assembly level SE will be better.

      1. Steve,

        Could be that you are right. If you have an assembly that you would like to try out let me know. I would be more than happy to help you out with some testing and helping you make a decision. Solid Edge does a very good job with large assemblies. It has some features with handling large assemblies that have some marked advantages over SWs. As I haven’t used Inventor in a few years and never really used large assemblies I really don’t know. Feel free to email me bsampson@gus.pittstate.edu

  11. All it proves Steve, is that despite what many in the CAD industry believe, from an end user’s perspective geometry is most certainly not a “done deal”. Perhaps mathematically kernals can describe any form, but that means nothing to the end user. All the end user is concerned with is interface (to enable access to the geometry creation and editing),  performance and stability.

    No matter what technologies get bolted onto the kernals it goes to show (very clearly) that there are still fundamental issues with kernal level operations. We still have a way to go.

    I personally doubt NX would be much better in this respect, but I bet you the Dassault people are downloading this test file right now and running the tests for comparison in the v6 kernel (as will be Autodesk and PTC). If not, then they should be.

  12. I decided to join the fun and try it out too.  I want to point a couple interesting things that I noticed in SW that also contribute to a slower performance.  I too tried it on an imported Parasolid and used the Move Face tool (fully understanding that it is NOT the same thing as Sync in SE since the Move Face is a History Feature tool that simulates “direct edit”).

    First, I want to point out that the Move Face tool has a preview that cannot be shut off like in many other SW tools.  This right here adds a significant amount to the total time.

    I selected the front few faces AND also the entire first row of 7 holes (just to make things a little harder).  Then hit the Move Face tool and typed 1 inch in the X-direction.

    This took 1:16 to just preview.

    Next I hit OK and waited an additional 0:38 for it to fully complete the operation.

    Feature Statistics showed a rebuild time of 34 sec.

    Next I clicked on Edit Feature on the Move Face feature and waited 0:41 for it to preview.

    I entered a new value for the X direction and waited another 0:39 for the preview to again update.

    I hit OK and waited 1:16 for the feature change to complete.

    Feature Statistics showed 33.9 sec for a rebuild. (?)

     

    Anyone notice anything strange about these numbers?  Like how inconsistent they are.  And the fact that the preview is tripling the time when you edit the feature, not just doubling it, since you have to wait for the preview upon entering the edit mode, then wait for the preview again after typing a new value, then finally hitting OK and waiting some more.

    Luckily though you can get around that preview induced slowdown by having “Instant3D” turned on and selecting the Move Face feature and changing the value directly on the screen.  This took 40 sec, and ONLY 40 sec for the final change to occur.  This is the closest SE-like behavior you can probably get in SolidWorks, but still not really the same.

     

    Thanks Matt for helping to illustrate how different Sync is in SE compared to what current SolidWorks considers as “direct edit”.

    1. So I have continued to play around with this…

      I closed SolidWorks and re-opened the file fresh and then proceeded to edit my Move Face feature directly on screen with “Instant3D”.  It took 37 sec and Feature Statistics reported 32 sec for a rebuild time.

      I hit control-Q (force rebuild).  This took 39 sec.   Now Feature Statistics reports a rebuild time of 36.94 sec.

      I changed the move face again (via Instant3D on-screen) and this again took 37 sec.

      If you will recall, I was still including the first row of holes in along with the front faces to be moved, which was not what Matt originally did.  So I decided to remove those holes from my selection and time the Move Face rebuild again…interestingly, it was still the same 37 sec!

      Shifting gears, moving on…

      I opened the original full feature tree version of the SW file.  This file reports a total rebuild time in Feature Statistics of about 62 sec.

      I changed the length dimension of the very first extrude feature directly on screen (via Instant3D) and it took 1:20.  My Verification On Rebuild (VOR) is turned off.

      So the full featured edit is approx. twice the amount of time of the fastest Move Face I could do on a “dumb” imported model.

      (by the way, the original file is a little over 24MB as Matt said; the exported Parasolid v19 file was 10.7MB, and the re-imported and saved SolidWorks 2012 part file was 8MB.  What do you make of that Rick?)

  13. I have an evaluatuion license of Spaceclaim coming this week so I’ll re-run these tests in Spaceclaim. As a direct modeller that really will be comparing apples with apples….

  14. How much does the punch holder file grow after each change and save? Does move face make the file larger every time. Does deleteing the move feature make the file still larger?

    I am pissed that my ariplane OML file gest larger every time, even when many features are deleted. I have taken the design intent sketches and cut and pasted and then rebuilt from zero and the file is 1/3 of the older pig. It is of course only a younger pig.

    I sure hope SE is smarter than SW in this respect.

    1. @Rick,

      OK, so I just tried that…and more.

      The imported “dumb” SW 2012 part file with the Move Face feature in it was 8200KB.  I opened the file edited the Move Face, saved and closed the part.  Now it showed 8120KB.  Next I opened the part and deleted the Move Face feature, saved and closed.  This time the file went to 4720KB.  Finally, I re-opened the file and added back in the Move Face, saved and closed.  The file went back up to 8590KB this time.  So then I opened it again and edited the Move Face.  The file went back down to 8180KB.

      So next I added a second Move Face feature (moved the side faces along the z direction).  The file went to 9420KB.  Opened and edited, closed and saved…now it’s down a little to 9185KB.  So then I deleted both Move Faces and the file went back down to…4750KB, about the same as before.

      Interesting that the first Move Face feature added about 4MB to the file size, almost doubling it, but the second one only added about 1MB additional.

      Now get this, I decided to add a different feature to the 4750KB “blank” imported file…a basic extruded rectangle off of the front face.  That took only about 5 sec.  But the file size went to the approx. same size as adding the Move Face feature, 8360KB; adding again about 4MB!  Adding a second extrude went to 9100KB, again very similar to the second Move Face.

      So what is going on here that adds so much extra information upon the first added feature, but not to additional ones after that?

Comments are closed.

On The EDGE © 2013 Frontier Theme