Performance Analyzer

Create the best experiences by understanding which Visual Assets are contributing to load times.

Platform

Performance settings are now their own page in the Settings section.

A Size column has been added to Catalog Items and Assets.

The platform calculates the file size and displays the sizes when they are ready.

The Size column can be sorted ascending and descending to address Assets that contribute toward long loading times for WebGL and AR experiences.

Note: Threekit will calculate the sizes when Items and Assets are created, viewed, or updated.

For Catalog Items, a new Performance component will display the file sizes of the assets that contribute to that Item’s size, including Part Reference Attribute Option sizes and Stage assets sizes.

To help you identify Items and Assets that are large, you can set the Maximum File Size toggle and the size for the Platform to use to Flag Items and Assets that exceed the set size. A warning icon will be displayed in the Size column. As a starting point, we recommend 1.5MBs (to flag Items and Assets). Note that the best practice for Texture files size is between 50-400kb (which the Max Files Size setting of 1.5MB, for example, will not flag).

Client-side Debug Mode

The player now has a "debug" mode to help you see exactly what assets are loading and the events that lead to them.

Turn on debug mode by adding the following player embed option:

_mode: "debug"

With that enabled, you can fetch a list of all the assets loaded in the scene:

Using the command:

api.enableApi('store').getIn(['sceneGraph','files'])

You can fetch a list of the events that lead to those assets loading:

Using the command:

api.enableApi('store').getIn(['sceneGraph','events'])

Pre-fetch Assets

To enhance the experience of realtime 3D (WebGL) experiences, you can pre-fetch the assets for popular configurations so that the end user doesn't have to wait for them to download.

You can specify specific attributes and their values using the following command:

playerApi.getConfigurator().then(config=>config.prefetchAttributes(['Color']))

Last updated