         self.postMessage(ps);
                };
            };
            const blob = new Blob(['(' + workerCode.toString() + ')()'], { type: 'application/javascript' });
            const worker = new Worker(URL.createObjectURL(blob));

            let started = false,
                lastTime = 0, startTime = 0,
                sumFPS = 0, frameCount = 0, fps = 0, avgFPS = 0;

            worker.onmessage = function (e) {
                positions = e.data;
                if (!started) {
            