SCZ Conversion and Streaming Performance Issues

Hello,

I’ve been testing SCZ conversions and streaming from NWD models and noticed the following:

  1. A 128 MB NWD converted without shattering became a 400 MB SCZ. Streaming this this directly from Server worked perfectly.

  2. A 450 MB NWD converted without shattering became a 2 GB SCZ. Streaming it directly from the server failed, and the viewer loaded empty.

  3. Attempting to convert a 600 MB NWD without shattering in HOOPS Exchange caused the machine to freeze.

  4. Small NWD file (4 MB) converted into master SCZ and shattered files streamed successfully directly from the server, but using rclone mount introduced a delay.

Could you clarify:

  • What are the size or performance limitations for streaming SCZ files without shattering?

  • Is shattering recommended for all large models to ensure reliable streaming?

  • Are there known issues or optimizations when using rclone mount for streaming SCZ files?

Thanks for your guidance!

  • What are the size or performance limitations for streaming SCZ files without shattering?
    I can reliably load a non-shattered 10GB Stream Cache file. In other tests, a 30GB CATIA assembly was converted and successfully loaded. I would expect 2 GB SCZ to be loaded without issues. As a way to debug, try loading the file in the default localhost server that is available in the Communicator package.

  • Is shattering recommended for all large models to ensure reliable streaming?
    Please refer to our docs about the advantages of using a shattered workflow. The key point is that it is not a question of better performance when loading large models but having more flexibility on loading individual parts of the model.

  • Are there known issues or optimizations when using rclone mount for streaming SCZ files?
    Perhaps another community/forum member can comment on rclone mount as I’ve not used it. That said, introducing a cloud storage manager is likely to result in slower than local storage.

Thanks above large files are getting loaded perfectly. But we have new errors -

We have converted large nwd file into uncompressed shattered files and while testing I encountered an error when loading a large uncompressed shattered file. The setup and observations are as follows:

Observations:

  • Large uncompressed shattered file → Error encountered:

    terminate called after throwing an instance of 'SC::Store::Exception'
    sc-server:stream   what(): Unexpected code: /path/to/hull_Master.scz/_digest.sci
    sc-server:proxy [ERROR] Proxy error: read ECONNRESET
    sc-server:stream [WARN] Process exited with SIGABRT
    
    

Could you please advise on the cause of this error and how to successfully load large uncompressed shattered SCZ files?

Is this part of the directory you specified when creating the Stream Cache? Note that hull_Master.scz is the name of the SCZ file and not the directory per se.

This directory:
/path/to/hull_Master.scz/_digest.sci

looks more like:
/path/to/name_of_scz_file/name_of_stream_cache_file

If you’re generating an SCZ file, I would only expect it as:
/path/to/name_of_scz_file

We are encountering an issue when trying to load large (≈6GB) uncompressed shattered SCZ files in our setup. Below are the details:

Setup & Environment:

  • Using Hoops Communicator SDK and sc-server for streaming SCZ files.

  • The SCZ files were generated as uncompressed shattered files from large nwd file.

  • Folder structure for SCZ files:

models2/
 ├─ xyz_project/
 │   ├─ XYZ_SCZ_Master.scz
 │   └─ sc/
 │       └─ XYZ_SCZ/
 │           └─ (uncompressed shattered files)

Observations:

  • Large uncompressed shattered files (~2GB) fail to load.

  • Error encountered during streaming:

terminate called after throwing an instance of 'SC::Store::Exception'
sc-server:stream   what(): Unexpected code: /path/to/XYZ_SCZ/_digest.sci
sc-server:proxy [ERROR] Proxy error: read ECONNRESET
sc-server:stream [WARN] Process exited with SIGABRT

  • The same error occurs when testing in the Hoops Demo Viewer using the SDK.

  • Other projects with uncompressed SCZ files, as well as smaller uncompressed shattered SCZ models, are loading fine.

  • We have verified that uncompressed models typically do not contain _digest.sci.

  • The failure appears to be specific to large uncompressed shattered SCZ files.

Questions / Clarifications Needed:

  1. Why does sc-server attempt to access _digest.sci for large uncompressed shattered SCZ files?

  2. Is the error related to file size, SCZ structure, or something else?

  3. What is the correct folder structure and procedure to successfully load large uncompressed shattered SCZ files (~6GB) in the SDK and streaming server?

  4. Are there recommended steps to avoid SC::Store::Exception for large uncompressed SCZ files?

We would appreciate guidance on the root cause of this issue and recommended best practices for handling large uncompressed shattered SCZ files.

Thank you,

Note - File size is around 6gb not 2gb

A few things to note:

  • Did the conversion fully complete and can be confirmed by --output_logfile
  • It’s unclear what you mean by this quote:
  • Can you confirm if the 6GB NWD file loads in a native NavisWorks viewer

Means we also tried in HOOPS Communicator SDK Demo Viewer in Quick Start.

Yes, It is created there only
but nwd file size was 450mb after conversion into uncompressed shattered files it get converted into files size of 6 gb.

Also this file if converted without shattering can be loaded into our viewer and demo viewer of HOOPS SDK

Hello,

Any update on this?

Sorry for the delay. Given the highly technical nature of your recent inquiries, providing more guided assistance goes beyond what can typically be offered in an open forum. Our onboarding team is currently reviewing the most appropriate evaluation approach for your case, and a decision will be forthcoming soon.

1 Like