Does DRACOLoader really make a difference?

I’m trying to use DRACOLoader- Even though’ll admit I’m only loading one simple GLB model.

I’m using Stats to spot a difference and there’s not much to be seen. A ms or two but it’s well within statisticals for false/positives and negatives/postives (I’m talking ± 2 ms).

var dracoLoader = new DRACOLoader();

//  (symbolic link: 
//    ./js/draco -> ../../../../usr/share/nodejs/node_modules/three/examples/jsm/libs/draco/

// should I setDecoderPath like this: 

or this:

var loader = new GLTFLoader();

 model = new THREE.Object3D();

     (gltf) => {
        model = gltf.scene;
        model =  'model';

         (child) => {
            if(child instanceof THREE.Mesh) {
                child.castShadow = true;
                child.receiveShadow= true;

Are there more recent decoders online, am I linking yo the wrong decoder lib?

Or will it first matter when loading several objects?

I'm not complaining about the time mind. 30 ms is well within my tolerance, but I like to preemptively optimize. Zo....

I've read that LoadingManager will help too. Is it worth the trouble yet?
1 Like

What is it that you’re timing? Draco compresses geometry in the file, so that the file size transferred over the network is smaller. The file is then decompressed before rendering. No guarantees about timing here — your first frame may render faster or slower depending on network speed and speed of the device decompressing the file. I would expect framerate to be pretty much the same before and after.

It depends, if you required your threejs website to load faster on web then Draco is relevant, but if your website is handling assets and it requires the assets to be loaded and unload constantly then Draco may become a liability because it un-compress the assets every time you reload (locally - the assets is already saved in your web browser).