Performance Considerations
Part of any modeling process, in any tool, is modeling efficiently and appropriately for manufacturing, workflow, and yes, modeling itself. When you create models using CAD tools effectively, you reduce regeneration times for the entire model. In Onshape, there are specific steps you can take to ensure efficiency of modeling and reduced regeneration times.
In addition to the recommendations below, see these other learning resources: Best Practices for Managing Data in an Onshape Document (Onshape account required), Product Structure Organization Tips (Onshape account required), and Hardware Recommendations (Onshape account required). You can also register for the following course: Maximizing Document Performance (Onshape account required),
Check regeneration times in the Part Studio
Some parts may take a long time to regenerate in your Part Studio; this may result in slower loading times than necessary. Some modeling strategies can result in long regeneration times, as well as placement of complicated features in the Feature list.
What can you do to reduce regeneration times?
First, understand which features are taking a long time: Use the Regeneration panel in the Feature list to get an idea of times per feature. Click the clock icon in the Feature list to open the Regeneration times panel:
Next, understand how you can influence regeneration times:
- Pause regeneration when working with configuration tables and Part Studios that take a long time to generate.
- When creating patterns or mirrors, and using the Feature pattern option (outlined below in blue), only turn on the Reapply features if it is necessary. This way, the feature does not need to regenerate for every instance of the pattern.
-
Create a Configuration which suppresses features that require longer times to regenerate, such as textures, threads on bolts, interior geometry, and any other aesthetic details. This way you can use this lightweight suppressed configuration during the design and modeling stages, then switch to the more performance-intensive, unsuppressed configuration at the end of the design process.
-
Move longer regenerating features to the end of the Features list.
For more information on using feature patterns and mirror tools, see: Circular Pattern, Curve Pattern, Linear Pattern, and Mirror.
For more information on reducing regeneration times, see Working with the Feature list.
Derive parts from versions
Deriving parts can be beneficial to streamlining design both for saving time and for consistency of design. There's no need to recreate a design in order to iterate off of it or model closely-related parts from it.
However, there are some considerations to take into account when deriving parts. First and foremost, deriving is best done from a version of the document. Since versions are immutable and static, there is no regeneration time involved and no updating to be done when deriving from an entity in a version. You can select a version directly in the Derive dialog. For example:
For more information on versions, see Version Manager. For more information on deriving parts, see Derived tool.
Don't derive parts across many Part Studios
As economical and design-savvy it is to derive instead of recreate, there are performance consequences to deriving across many Part Studios, in a daisy-chaining method. Instead, create a version and derive directly from the version. If the design needs to change, create a branch from the version, make the change, and then create another version from which to derive.
How many Part Studios is too many? If you find yourself deriving over three Part Studios, it's time to derive directly from a version.
For more information on deriving parts, see Derived tool.
Tips for working in an Assembly
-
Use version references. Versions are immutable and static, so there is less regeneration time involved and no automatic updating. Using version references for parts, Part Studios with multiple configurations, and sub-assemblies will speed up an assembly’s load time.
-
Use rigid subassemblies by fully constraining subassemblies. Rigid subassembly mates are not required to be solved in higher-level assemblies. Having rigid sub-assemblies help with mate solve times.
-
When zooming and/or panning In complex assemblies with many instances derived from many Part Studios, selecting an instance forces its tessellation to be refined first, before any others.
-
Use the Lock/follow position to option for subassemblies inserted into a top level Assembly.
Keep tabs per document at a reasonable number
Onshape computes all element tabs within a document in parallel. Despite Onshape documents being a sort of container that can hold many kinds of data and seemingly endless numbers of tabs, best practices are to:
- Keep the number of tabs in a document low, as in less than 100.
- Use 'Move to document' to move specific tabs to another document not only to improve performance within a single document, but also because moving a part to another document enables you to share specific parts of the design with specific third-parties, or for review purposes. See, Organizing tabs for more information.
Tips for working with Mates
-
Use mates with fewer degrees of freedom whenever possible, and reduce the number of tangent, planar and parallel mates. Onshape’s unique mating system allows you to use simpler mates between two parts. Using a small number of mates with many Degrees of freedom will significantly speed up mate solve times.
-
Reduce the use of mate limits. Mate limits can cause longer assembly solve times. Reducing the number of limits or suppressing the mate until needed will improve mate solve times.
Lag, network, and region issues
Lag is the result of lengthy latency times. Latency is measured in milliseconds, and is the time it takes for data to travel from your device (client) to Onshape (the server) and back to your device again, also known as Round Trip Time (RTT). Lag can potentially lead to delays when working in Onshape.
It is not always possible to reduce lag.
Poor connection indicator
Onshape provides a Poor connection indicator that alerts you when lag occurs, and is displayed at the bottom left of the graphics area:
Onshape constantly pings the Onshape services over the web socket. The client uses the resultant responses to determine the round trip time from the client to the server. Once a series of ping values are collected, the median value is calculated and determines if lag is high. If it is, the Poor connection indicator is displayed, and remains visible as long as lag times are high.
If the warning occurs only occasionally or very infrequently, you may not need to take any action. However, if this warning is persistent, or you see it more at certain times or on certain networks, you may want to find a solution.
Common causes and solutions for lag
These solutions may require the involvement of your IT Administrator.
-
You are connected to the wrong region. This may be caused by the DNS (Domain Name System) resolver not being geographically close to you, or it may be that you are using a VPN (Virtual Private Network). Onshape detects the VPN server’s location as your location.
-
If it is a DNS resolver issue, ensure you are using the DNS resolver provided by your ISP. If that is not available, use a DNS resolver from your country or region.
DNS resolver configuration is performed in your operating system or in your router. Sites like http://www.whatsmydnsserver.com can help you find the DNS resolver you are using.
Some DNS resolvers correct issues with a technology called "EDNS client-subnet." Google uses this. Microsoft (OpenDNS) and Cloudflare (1.1.1.1) do not.
-
If possible, avoid using a VPN, or select a region in the VPN that is closer to your geolocation so the closer Onshape region is used.
To view real-time latency, server region to which you are connected (Region), and closest server region to your location (Expected region), use the Performance panel’s Connection > Network and region dropdown:
AWS Regions used by Onshape:
-
Oregon, USA (us-west-2)
-
Dublin, Ireland (eu-west-1)
-
Tokyo, Japan (ap-northeast-1)
-
Singapore (ap-southeast-1)
-
Sydney, Australia (ap-southeast-2)
-
-
A poor network connection via your ISP (Internet Service Provider).
-
The ISP sets the limit of your internet speed. Check with your ISP to see what maximum speed they allow. Use Fast.com to measure your internet speed.
-
Try switching to an alternate network connection. For example, if you are using a hotspot, try switching to Wi-Fi or plug in an Ethernet cable.
-
If you are using a Wi-Fi connection, ensure you are close to the router and that there is nothing blocking the signal between the computer and router. Try switching to a new network, or use a router with greater signal strength.
-
-
You are simultaneously collaborating on an Onshape document with someone from a different region.
-
The document opens in the region closest to the person who opens it. If one user is the designer making edits to the document, and another is the viewer observing the changes, ensure the designer is the one who opens the document. If the viewer accidentally opened the document, you can switch to the designer's region by having both users exit the document for approximately 10 minutes, and then having the designer open the document.
-
-
Perform a data leak test at https://dnsleaktest.com/. This can often point out potential problems.
Additional resources
-
Cloudping is an independent tool to measure lag from your browser to multiple AWS regions. You can use this to check if your lag approximately matches the region to which you are connected.
-
AWS network latency provides information on latency and suggestions on ways to improve it.
-
Wireshark is a network protocol analyzer that can be used to analyze lag.
If you still cannot resolve lag issues, please file a support ticket with Onshape.