21 Oct 2020
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:
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:
- Start here: https://forge.autodesk.com/en/docs/model-derivative/v2/developers_guide/notes/
- Also important: https://forge.autodesk.com/en/docs/model-derivative/v2/developers_guide/basics/preperation/
- Updated Field guide: https://forge.autodesk.com/en/docs/model-derivative/v2/developers_guide/field-guide/
- GET :urn/manifest: https://forge.autodesk.com/en/docs/model-derivative/v2/reference/http/urn-manifest-GET/
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:
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:
- https://forge.autodesk.com/blog/model-derivative-svf2-enhancements-part-1-viewer
- https://forge.autodesk.com/blog/model-derivative-svf2-enhancements-part-2-metadata