How to reduce the size of memory used by HoopsExchange when importing models

I only know that m_eTessellationLevelOfDetail set to kA3DTessLODExtraLow and m_eReadGeomTessMode set to kA3DReadTessOnly can reduce the memory consumption when importing models, but the memory consumption is still higher than other conversion products when importing 1GB models, other products occupy 4GB, HoopsExchange occupies 8GB.

I don’t know which part of the parameters are not set correctly or if the memory usage is much higher due to the fact that HoopsExchange imports more information about the model
The conversion configuration is as follows:

1 Like

Hey Rui, I have also made this a support ticket as well. I’ll update here as well once that’s answered.

Here’s the answer provided by support:

Importing a CAD model with or without topology or tessellation mostly depends on your needs. A 1 GB file will consume more than 1 GB of memory once imported as PRC in memory.

I understand that some competitors can import the same model using less memory. The result depends on the data structure in memory and the overall memory management. To explain a bit more, there are two steps during the import of a CAD model :

  1. Parsing the data to identify the geometrical entities

  2. Reading the data to create the PRC structure in memory

Both consume memory, and the parsing phase will free the memory used before the reading phase begins. According to the memory management in HOOPS Exchange, the memory could be freed or marked as free. The second behavior will let HOOPS Exchange allocate memory more quickly for later use.

In conclusion, the amount of memory used may not represent the actual size the CAD model uses in memory, but all the memory will be properly reused later or released when the HOOPS Exchange dll is released.

Is there any other way I can reduce the memory usage when importing models?

This is probably another question for support because it’s a specific use case. @dave.calkins and @jamestruax, do you have any experience with this?