DriveWorks 3D is best when it is quick and easy to use within the DriveWorks implementation.
It is very easy to overload a 3D file or 3D Document so that it is slow to load and slow to update. In this section we will look at how we can improve the performance of DriveWorks 3D Files.
DriveWorks makes it easy to save your SOLIDWORKS models as DriveWorks 3D Files. However, this doesn't always mean you should.
CAD models are designed to be manufactured and are not designed for 3D display purposes. Because they are made for manufacture, they contain detail that may never be needed in DriveWorks 3D.
For the best performance in DriveWorks 3D, you should defeature your model as much as possible without losing the look and appearance of the model.
This doesn't mean using the Defeature Tool in SOLIDWORKS. Instead you should remove features that are either not seen or that do not make an impact on the overall 3D model.
These are things like:
What you are trying to do is reduce the amount of surfaces that DriveWorks has to save. Removing internal geometry, threads and reducing complex surfaces decreases the number of surfaces that has to be saved by DriveWorks. This reduces the overall file size of the DriveWorks 3D file.
For our demos, we create SOLIDWORKS models that look like the manufactured part but are actually a lot less detailed. For example, we may remove drilled holes, unseen cuts and fillets to reduce the overall file size.
You can still get an accurate representation of a product without this level of detail.
SOLIDWORKS model quality impacts performance dramatically.
Inside SOLIDWORKS you can change a setting that determines how detailed your SOLIDWORKS model is. This setting determines how many triangles make up each face of the model.
Reducing the Image Quality of your SOLIDWORKS Models can dramatically reduce their file size when saved as a DriveWorks 3D file. This makes the file smaller and quicker to upload in a browser.
You can find out more about Model Quality from the topic How To: Save DriveWorks 3D Files from SOLIDWORKS.
One thing that has a big impact on performance is the size of the Texture files you use within a 3D Model or 3D Document.
Always use the smallest Texture images possible. There is no point using 4K resolution textures. DriveWorks has to upload them to the clients browser and then they get downscaled by the clients GPU to a resolution it can handle.
Therefore it is best to use the following texture sizes:
Textures can be any size in between these sizes as long as they are a power of 2. It is always worth using seamless textures as well. Seamless textures prevent your model from having noticeable lines across the faces and prevent any white lines on the model.
You want to keep the texture image size as low as you can without losing image quality. Smaller textures mean they are faster to upload and quicker to send to the client.
We aim to get our textures under 1MB and aim for them to be around 200 - 300KB in size.
One thing that can impact performance is the size of your 3D Scene.
A DriveWorks 3D File or Document stores the Node Tree as JSON data inside the Project or 3D file. The more you add to a 3D scene the larger this JSON file gets.
DriveWorks has to store the Node data somewhere and that place is inside the Project as JSON. It is possible to create large scenes that then cause the DriveWorks Project to load slower.
This is caused by large JSON files that have to be uploaded to the clients browser and then read on the other end.
This is not something that is unique to DriveWorks. Applications like Notepad and Visual Studio have limits on the size of JSON files you can open. The time is spent trying to parse the text information in the file.
Therefore it is important that you try and keep you Node Tree as small as possible.
When using DriveWorks 3D in the 3D Preview control, and IIS is being used, we recommend enabling JSON compression in IIS.
By default IIS does not include JSON in the standard compression methods, which DriveWorks 3D files use.
Please see the following articles for more information: