So many materials affecting performance?

I am on 5.520.6147.0 #9d8cd91e on a Windows PC.

I have a small project, when exported in a Shapr3D file it is only 527kb. However, it seems to be slowing down on a very well equipped PC. When I perform a move/rotate, extrude, or any other function and then try and swap back to the Items or Visualization tab, it is taking seconds to even allow me to highlight the button and then press it. If I close the program and then reopen the same file, it corrects the delay, but it just starts getting slower as I work longer in the file.

I’ve also noticed that I have a ton of materials associated with the project (see screenshot below). I don’t understand how there are so many because there are probably only four different materials needed. When applying materials to a new object, I select from the materials that are already present in the project by dragging from the Used Materials dialog box. I have not gone and changed any of them, except for when they don’t seem to be retaining the properties from the previous use (for example when I adjust the birch grain from horizontal to vertical).

Should the app be making duplicates of the materials when dragged from the Used Materials dialog box? That seem counterintuitive to how that should work. If I’ve already customized a material for use throughout the project, why add it again if it’s the exact same as the previous? Could all of the materials be what’s causing the app to progressively slow down?

I should also mention, that I love the new materials orientation options. I had not played with them since you developed them. The controls are so intuitive, unlike in Sketchup.

It should also be noted that this drawing is not the most organized. It’s my first “real” drawing and not something simple for 3D printing. I also have a deadline that I’m staring down, so I’m just trying to get it done quickly, instead of learning how to properly utilize constraints and parametrics (which I am still trying to wrap my head around). I have not used Solidworks since the early 2000’s and gave up diving into Fusion (again) earlier last year, when I started playing with Shapr3D for 3D printing.

The PC I am running it on is a custom built workstation that contains…

  • 12th gen Intel i9-12900K
  • Asus ROG Strix Z790-H Gaming Wi-Fi motherboard
  • Nvidia RTX A2000 Video Card
  • Samsung 990 Pro 1 TB SSD
  • 32GB Corsair Vengeance DDR5 6800 RAM
  • Corsair RM1000X PSU
  • Corsair iCUE H115i Elite Liquid CPU Cooler

Yes, It Seem Latest Update is Not Optimised!

A design of this complexity should not be a problem for for a machine like this, and the growing material list is indeed suspicious.

Could you by any chance share your design exported as a .shapr file here, in a private message or via our support system? It’d help us a lot trying to understand what’s going on here.

Just PM’d you Peter.

Thanks, I got the file and we could reproduce the problem.

There are three separate issues conflating with each other in a very unfortunate way:

  1. The design history version “leaks” materials: even if you delete a face/body (either via an explicit delete operation or by deleting the steps that created them), the materials assigned to them stick around, while in the live app they’re automatically removed. It’s because in history-based parametric modeling it’s not that trivial when a body/face is completely and forever gone – just consider things like history rollback or suppress. But it’s nevertheless confusing behavior that must be fixed.
  2. Such orphaned materials can’t even be reassigned – normally you would be able to “delete” materials by selecting and reassigning them to another existing one, but that does not work for these leftover ones.
  3. The visualization user interface degrades heavily in performance if the list of used materials grows heavily.

All of these are high on our priority list and will be fixed soon.

Hey Peter…thanks for looking into it and woo-hoo…my messy drawing broke stuff :wink:

With that being said is there anything I could’ve done differently that would’ve prevented the issue?

Is there a better way to delete objects from the project e.g., through the items list or through the history panel?

Should dragging the last used material from the Used Materials dialog not duplicate the material?

For what it’s worth, I scrapped the drawing I sent you and started a new one that is much cleaner.

No, not really, this bug causes a mess somewhere inevitably :frowning: No matter what method you use to delete items, the materials get “leaked”. From the point of view of this bug, deleting using the canvas (select + delete) is slightly better than deleting sketches & bodies from the history tree, because the former creates an explicit “delete” step in your history tree that you can temporarily suppress, go back to Visualization, change the material for that body to the default material or something else that other bodies still use to ensure the used material list does not grow and then unsuppress the Delete step to get rid of the unwanted body again. But this at the same time it makes your history list a mess, which is even worse.

The only way to somewhat prevent this is to:

  1. don’t delete anything, rather make changes to existing sketches and bodies
  2. only assign materials & colors after you feel confident enough with your design and are unlikely to make drastic changes

But these are so bad restrictions that you shouldn’t even consider them suggestions :slight_smile: We will fix the original issues soon.

In my new version I have not applied any materials to anything during the design process and have not seen the slowdown yet.

Another tip for the Power Users section of the HBPM User Manual.