0

I am experiencing slower render refreshing for a model in forge viewer, than for the same file in the BIM360 viewer. I am wondering whether it is possible to obtain the same performance in the forge viewer, and if so, how?

I have been looking through old posts on the subjected, where various settings are suggested. The function viewer.impl.setFPSTargets, as suggested in an old post from 2018, was tested, but even though less objects visibly refreshed, it was on the expense of the graphical performance during view rotations. The viewer.impl.toggleVizBuffer, suggested in the same post seems to have been removed.

Are there any other options or settings I can test to improve my performance?

The object flickering experienced in the forge viewer can be seen here: Forge viewer render refreshing

Whereas in the BIM360 viewer, the performance is much smoother: BIM360 render refreshing

CMou
  • 3
  • 2

1 Answers1

0

The difference in performance might be related to the new, significantly improved viewing format that Forge introduced not too long ago: https://forge.autodesk.com/blog/svf2-public-beta-new-optimized-viewer-format. BIM 360 has been using it for some time now.

If you'd like to give it a shot yourself, take a look at https://forge.autodesk.com/en/docs/model-derivative/v2/developers_guide/notes/.

Petr Broz
  • 8,891
  • 2
  • 15
  • 24
  • Thanks, I will look into the impact of changing our viewing format to SVF2, but the `NOP_VIEWER.model.isSVF2()` fuction used on the model in BIM360 showed false, and the same happened after a rough implementation of SVF2 formatting in the forge viewer. Is there an other way to check whether the model is formatted to SVF2? – CMou Jun 01 '21 at 12:07
  • Sorry, I should've clarified that part. The SVF2 format was originally called OTG. Those two are almost the same, although there are some subtle differences, for example, the OTG format was served from different servers (not from the Model Derivative service). Try running `NOP_VIEWER.model.isOTG()` instead. – Petr Broz Jun 01 '21 at 12:28
  • Thanks for the quick response. Both `isOTG` and `isSVF2` returns false for the model in the BIM360 viewer, but forge viewer the performance seems to have improved using SVF2, even tough a few objects are acting strange. However we are having problems finding the properties of objects in the SVF2 format. Is it possible to get the `propertydb` for SVF2 objects or find the translation between the `dbid`s of objects in SVF and SVF2? – CMou Jun 02 '21 at 07:19
  • So both `isOTG` and `isSVF2` return false, but the viewing performance of that model in BIM 360 Docs is still better than when the model is viewed in a vanilla Forge Viewer app with SVF1? That's really strange... I'm not sure if BIM 360 Docs itself includes any additional optimizations but I don't think it does. – Petr Broz Jun 02 '21 at 07:32
  • As for the SVF1 dbid vs SVF2 dbid discrepancy, this is a known problem. See [1](https://stackoverflow.com/questions/66367408/autodesk-forge-svf2-dbid), [2](https://stackoverflow.com/questions/65330880/properties-dbid-from-viewer3dgetproperties-not-matching-objectid-from-the-mode), or [3](https://stackoverflow.com/questions/64486866/how-to-match-objectids-from-autodesk-model-derivative-api-metadata-with-forge-vi). – Petr Broz Jun 02 '21 at 07:37
  • Yeah they both show false, and the load time of objects on BIM360 is much faster than for the same model in the vanilla forge viewer, as seen on the two linked .gifs in my original post, which could imply BIM360 not using SVF2 for the model. `isOTG` returned true for the model on forge and did improve performance. We will try to look into the dbid mapping if we are to fully implement SVF2 formatting in our viewer, but it seems as if there is some kind of additional optimization in BIM360 Docs aswell. – CMou Jun 02 '21 at 08:05