21 Oct 2020

SVF2 Public Beta: a new optimized viewer format

SVF2 Public Beta: a new optimized viewer format

Last year at Autodesk University 2019 we discussed a new Forge Viewer format code-named ‘OTG’. This format was introduced in the BIM 360 service and you can find a short mention about this initiative in the Forge DevCon 2019 Keynote discussion here. In this video segment, Susanna Holt discusses a strategic partner’s desire to handle much larger models, and this is where the OTG format was born. Since then, Autodesk has branded OTG as the SVF2 format.

Anyone can now test this new format. We encourage you to keep in mind that this is still a beta, and to provide any feedback to Forge-Help. If you have example models where you see significant, or not so significant performance improvements, we want to hear from you. You can see geometry details from the Forge Viewer. Open the browser debugging console and look for geometry size output. Here is an example in chrome using F12 to open console output:

 

SVF2 geometry stats output in console

Currently, the Model Derivative service produces SVF2 derivatives by optimizing and sharing meshes within the same Viewable, and even across multiple Viewables when possible. Because of this optimization, SVF2 format greatly reduces the Viewable storage size and speeds up viewing and loading performance. But note that SVF2 will take longer to translate.

There is no charge to produce the SVF2 format during this public beta period.

There are three model derivative APIs that are updated to support SVF2:

  • GET      https://developer.api.autodesk.com/modelderivative/v2/designdata/formats
  • POST    https://developer.api.autodesk.com/modelderivative/v2/designdata/job
  • GET      https://developer.api.autodesk.com/modelderivative/v2/designdata/:urn/manifest
    - or -
  • GET      https://developer.api.autodesk.com/modelderivative/v2/regions/eu/designdata/:urn/manifest

There is also a Forge Viewer API that can help to test if the SVF2 is loaded by the Viewer. This is Viewing.Model.isSVF2(); See here for details: https://forge.autodesk.com/en/docs/viewer/v7/reference/Viewing/Model/#issvf2
 

You will find updated documentation here that defines how to use SVF2:

 

Because SVF2 is simply an additional format, to translate your models to it, just change the output format type from 'SVF' to 'SVF2' in your JOB request.For example:

format output type for svf2

During the beta period, you will have to also make a minor change to your Viewer code to show the new SVF2 format. First, make sure you are running 7.25 of the Forge Viewer library or newer. Then, in the Viewer initialization options, specify the correct env and api parameter like so:

  • env: MD20ProdUS (for US) or MD20ProdEU (for EMEA)
  • api: D3S

 

 

Finally, to give you an idea of the performance improvements, I have pasted a few tests below. SVF2 is on left as compared with SVF on right.

Model

engine_type_01_2_liter_asm.zip

 

Model File Size

62.8 MB

Translation Type

SVF2

SVF

Translation time

83.04 seconds

53.97 seconds

Loading Viewable

0.77 seconds

1.16 seconds

Total geometry size:

24.084 MB

34.559 MB

Number of meshes:

307

549

Num Meshes on GPU:

307

549

Net GPU geom memory used:

25150610

36053286

 

Model

210 King - 2021.rvt

 

Model File Size

92.8 MB

Translation Type

SVF2

SVF

Translation time

488.49 seconds

385.35 seconds

Loading Viewable

0.60 seconds

1.51 seconds

Total geometry size:

22.589 MB

166.515 MB

Number of meshes:

3362

29646

Num Meshes on GPU:

3362

10000

Net GPU geom memory used:

22556672

101428240

 

For additional details please see the latest blog posts here:

 

Related Article