This tool allows you to inspect the requests made by a given webpage with the Threekit player embedded, and get a detailed list of statistics and recommendations about improving the load performance.
It is currently designed to analyze only the initial page load. Please avoid clicking on buttons or changing the configuration past the initial page load, as the additional requests will skew the results.
If the Threekit player is hidden behind a button click, then either record the whole page load from the beginning then click the button to reveal the player, or clear the request history and record only from the moment the Customize button is clicked. Keep in mind that RAM usage will count the whole entire page contents.
Required Steps:
- Collect a HAR file: Use your browser's developer tools to generate a HAR file once the page has finished loading. The HAR file should contain all the requests made by the page and the Threekit player.
- Upload the HAR file: Click the "Select File" button and select the HAR file you generated.
- Process the HAR file: Click the "Process" button to analyze the file and get the performance metrics.
Here are the steps to generate a HAR file:
- Open Developer Tools: Press F12 or right-click anywhere on the page and select "Inspect".
- Open Network Tab: In the developer tools, go to the "Network" tab.
- Disable Cache: Make sure the "Disable cache" option is checked. This will ensure that all requests are captured.
- Step 1 - Start Recording: Click the "Record" button to start recording network activity and then refresh the page (can use Ctrl+R or F5)
- Step 2 - Clear Filters: Once the page finished loading, ensure you clear any filters applied to the network tab, as only the filtered requests will be saved in the HAR file.
- Step 3 - Save the HAR file: Click the Export HAR button to save the file.

Additional Information:
Here is a list of the metrics that will be provided:
- Total Page Load Time: Total Page Load Time calculated from first and last request in the HAR file.
- Page Only Load Time: Total time taken by the initial page-only elements to load, excluding the requests made by the player.
- Player Load Time: Total time taken by the ThreeKit player to initialize, from first request until the (Player Is Loaded) event.
- Player Bundle Start Time: Request start time for the threekit player bundles.
- Player Initialization Start Time: The time when the player is initialized relative to the page start time.
- Total Network Requests: Total number of requests stored in the HAR file.
- Player Total Requests: Total number of requests made to the threekit API. These can be made either by the player during initialization or by fetch requests. Does not include the player bundle requests.
- Total Page Transferred File Size: Total transfer size of all requests in the HAR file.
- Total Player Transferred File Size: Total transfer size of all requests made to the threekit domain.
- Static Publish Enabled: Indicator of whether the Static Publish feature is enabled in the org where the threekit player receives requests.
- Unpublished Items: Threekit Items that are still in Draft mode instead of Published.
- Unchached Requests: Total number of threekit requests that are uncached.
- Significant Processing Gaps: Total number of processing gaps during the page load that exceed 200 ms. These are gaps where no requests are being handled.
- Estimated RAM Required: A rough estimate of the total memory required to load the page. This is important especially for mobile devices.
- Threekit Item Requests: Total number of Catalog Item requests made by the player.
- Threekit CAS Requests: Total number of CAS service requests made by the player, representing queries made to the threekit database for supporting information like attributes and metadata.
- Threekit Mesh Requests: Total number of scene graph node requests made by the player, which includes meshes but also group nodes.
- Threekit Texture Requests: Total number of texture requests made by the player.
- Threekit Thumbnail Image Requests: Total number of image requests made to the threekit file service, separate from the player requests.
- Threekit Datatable Queries: Total number of datatable queries made by logic or custom scripts.
- Threekit Other Queries: Total number of other requests made to the threekit domain, which includes asset queries based on metadata, analytics, translations, and pricing requests.
- Requests with Issues: Requests with large file sizes or long processing times
- Page Image Requests: Image file requests made by the web page, independent of Threekit
Limitations:
- Total page memory usage is currently unavailable. The current RAM usage is only able to estimate it based on texture and image load for the page that shows up in the requests. This means that scripts, Threekit canvases, shadow maps, etc loaded by the player will not be considered in the calculation.
- Configuration changes cannot currently be analyzed as part of a HAR file including the initial load. They would need to be recorded separately, as one configuration change per HAR file. This can be done by clearing the Network requests in the browser, performing a configuration change, then saving the HAR file for the new requests that show up in the list.
- There is no feature currently to save the analysis, but you can always save the HAR file and re-analyze it at any point.