Measuring QoS metrics for Sketchfab models in Web browsers (desktop and mobile)


(Hussein Bakri) #1

In my opinion, it is important to measure graphical and network Quality of Service metrics for sketchfab 3D models in web browsers even on mobiles devices.
Is there any way to do that?
In other words, I want to retrieve "programmatically" the download time, the processing time, the FPS (Frames Per Second), frame time, GPU utilization, Physical memory usage etc... of many words of different graphical complexity.
In addition I need also to retrieve "programmatically" the graphical complexity of a model (faces, vertices...).
Any suggestions would be appreciated.


(Mrchlblng) #2

Hey @HusseinBakri,

the metrics you mention are indeed very important. This has been discussed on this forum, mainly regarding data bandwidth for mobile viewing (see e.g. https://forum.sketchfab.com/t/data-size-downloaded-for-typical-viewing-of-models-on-mobile-data/9475).
We do track some metrics internally however I believe that most of what you ask is too "client dependent" for us to provide numbers, especially since we try to process models in a variety of "quality" to make them accessible on the largest number of devices.

Could you detail a bit more what you're trying to achieve so that we see what we could do to help?


(Hussein Bakri) #3

Thank you so much for your reply.
One metric per example:
First I want to measure the download time + processing time of model (individually if possible or as a total time in a desktop browser (like Firefox)
I checked the Viewer API. I know how to embed and manipulate the model. I tried to write JavaScript code for capturing the load time by using a simple trick
var starttime = new Date().getTime();
//code that pertain to embedding the Sketchfab model
var endtime = new Date().getTime();
document.getElementById('model2Label').innerHTML = (parseInt(endtime-starttime,10) + 'ms');

but this is the load time and is a lot lesser than the time it takes for the 3D model to become "usable" ( additional browser processing time not taken into consideration).
Any suggestion here on how to capture both times or the total time in a web setting (Desktop Firefox)

I am interested in how to get the number of vertices and faces of any model through JavaScript or Python etc...
+ file size for all modes LD, SD and HD.

Any small working example on GitHub would be greatly appreciated