Behind the Scenes- How SOLIDWORKS Just Got Faster
The SOLIDWORKS research and development (R&D) team is always looking for user feedback. We have an army of passionate users out there, and we love it when you tell us about your experiences with our software—both good and bad!
We often hear that performance is your number-one priority. While new features and productivity tools are exciting and can make a real difference to many users, we also know how important just straight-up speed is when working with our software, and you can be assured that we are always aiming to improve performance!
I’m part of a team within our R&D organization that has been doubling down on performance improvements. I wanted to give you all a peek behind the R&D curtains and show you how we’ve been approaching this.
A New Approach
We’ve always focused a lot on open and save performance since these tasks are a core part of everyone’s daily workflow with SOLIDWORKS. It’s an obvious target for ensuring we are as optimized as possible under the hood. In a similar category, we focus on commands that do a lot of heavy lifting and have always pushed hard to ensure they are running as quickly as possible; for example, importing and exporting different file formats, running simulation studies, SOLIDWORKS Visualize renderings, etc. We’ve also made giant leaps forward with our graphics performance, with an entirely new graphics rendering engine that takes full advantage of modern GPUs.
However, we know there is more to SOLIDWORKS than just opening and saving files or crunching through heavy computations. There are many commands you may use dozens or even hundreds of times a day, and if these commands aren’t perfectly optimized, then the cumulative “death by a thousand cuts” can be a massive frustration! This is the reason we established a team to flush out these issues and make a tangible difference to all of our users’ daily experience with SOLIDWORKS. Here’s how we approached it:
1. Build workflows
We built workflows that capture typical commands we’d expect to see in an average SOLIDWORKS session. Each workflow focuses on a different theme. We have a growing list of workflows, each with around 20 steps. I won’t show all the workflows or their detailed steps here, but here’s a high-level summary of some of our workflows:
- Assembly structure edits: inserting, suppressing, and deleting components for both top-level and sub-assembly edits
- Mates: inserting, editing, deleting, and suppressing mates for both top-level and sub-assembly edits
- Modeling and sketching: creating and editing features, reference geometry, sketches, etc., in the context of a large assembly
- Multi-window operations: interactions while switching windows when several large models are open at the same time
- Selections, UI interactions and other tools: various “micro” interactions around selection, mouse hover, highlighting, features such as FeatureManager filter, and more, both in the graphics area and the FeatureManager
- Drawing creation and editing: creating new drawing views, annotations, and drawing sheets
2. Select real customer models
It’s critical that our tests are as realistic as possible—testing on dummy models just won’t cut it. Therefore, we have chosen to use real production data from some of our customers, who shared sample models with us for performance and quality testing. These large models cover diverse industries and applications, including cement plants, oil and gas facilities, packaging machines, and complex medical devices.
3. Measure performance
We ran through each workflow with several large assemblies, which some of our customers shared with us for performance and quality testing. We performed the initial tests by hand using typical SOLIDWORKS settings and on a PC with a suitable specification for the model size. The time to complete each step was recorded.
4. Find the hotspots and set targets
We assessed the performance of each step, putting ourselves in the shoes of a typical SOLIDWORKS user, analyzing which steps perform well and which steps might be slow for a given task. This meant “forgetting” any SOLIDWORKS R&D knowledge about why the performance is slow, as we wanted to approach this purely from the user’s perspective. From here, we set some goals that represented what a typical user may consider to be a good performance for each step. Since these targets were often aggressive, we knew we might not be able to hit all of them, but we wanted to challenge ourselves to push the boundaries and think of creative solutions rather than settle for modest improvements.
5. Fix and validate performance
Each item that required improvement was assigned to the appropriate development team, and they got to work, keeping the target performance in mind. Some fixes were simple, some challenging, and a small subset got flagged for architectural-level changes that would need to be worked into our plans for future releases. As the fixes came in, the Quality Assurance (QA) team validated them, and we could start seeing the fruits of all the hard work. While we can’t hit every target, the results are impressive.
6. Broaden the sample models and automate the testing
Manual testing can only get us so far. We automated our performance workflows and added a lot more customer data. Our dedicated test machines run autonomously and output results directly to a dashboard on our internal 3DEXPERIENCE platform. We can monitor trends between different builds of SOLIDWORKS and quickly flag any performance spikes that need attention before the next service pack is released.
Initial results
Let’s zoom out and look at the big picture to see where we got after making all these incremental changes. The good news is we made some BIG improvements! The video below is a snapshot of our progress throughout 2024. I recorded a much longer workflow that represents what a typical user might be doing as they build an assembly and make a drawing. We can see the side-by-side comparison of SOLIDWORKS 2023 and SOLIDWORKS 2024, and how much quicker SOLIDWORKS 2024 is. We took around 30% out of a 38-minute workflow!
If you frequently battle large, imported multi-body models, then this one’s for you! We recently added a new performance workflow for working with this type of part. You may receive this type of model from a supplier or partner and need to use it as a reference or as a component in your larger parent assembly. Sometimes, these imported models can have thousands of bodies!
We heard your concerns about the speed of making edits to a multi-body part, like hiding or deleting unwanted geometry. To address this, we built a workflow that captures common operations you may need to use for that task, then tested the performance in the current version (SOLIDWORKS 2024 SP2 at the time). The part we tested had more than 5,000 bodies. As pictured in the table below, we marked problem steps with a red dot and set ambitious target times, and then our developers got to work! The 2025 SP1 column in the table shows where we are now – it’s already a massive improvement, but we think there’s more we can squeeze out of this in some of the steps; hence, we marked those in yellow.
What’s Next?
We aren’t going to stop here. We will continue to expand the scope of our performance initiative to more accurately reflect how our users interact with the software and where they may find performance bottlenecks. We’ve made a good start but are committed to this initiative for the long haul!
If you’d like to weigh in on SOLIDWORKS performance, visit the SOLIDWORKS User Forum to connect with SOLIDWORKS users and support staff, submit your ideas to the Top Ten List, and talk to your local resellers.
To see what’s new in SOLIDWORKS 2025, check out this blog.