That’s indeed weird. I’ve changed nothing tbh since uploading the version 0.0.7 with the Quake demo, apart from adding a GIF preview of E1M1 as you’ve pointed out. 🤔 It may or may not be related to that, but more often than not I’ve seen new browser versions effecting how the engine performs against demanding maps/models with high number of meshes. (My engine is highly dependent on the optimizing performance of the browser JIT compiler it runs on since everything’s done on the CPU with 0 GPU utilization) Did you have a chance to test it out in different browsers, I’m currently getting somewhere between 20 to 30 FPS in Chromium-based browsers.
I tried that car at https://emre-aki.github.io/tmp3d/
It's about 10 fps on this non-gamer 2018 laptop. Try use the option to run the game in a new tab.
And maybe it's worth to look into that js assembler thing:
https://developer.mozilla.org/en-US/docs/WebAssembly
If I remember correctly, it can use the GPU, and do 3D vector calculations in a single processor instruction (like shaders do). Sounds perfect for a software renderer. You might end up faster than webGL.
Also, there seems to be a competition for the keyboard, the game doesn't have full focus. When I press up/down, the page scrolls, despite mouselock. (Pretty scary, watching comments, no mouse^^)
Here's what I do to get forced, exclusive focus, despite itch's messing with the keys handler. I add to the canvas an onclick handler, that calls a function that will:
var mycanvas=document.getElementById('yourcanvas');
mycanvas.setAttribute('tabindex','0');
mycanvas.focus();
It could be, that by not having full focus, the thread has a low cpu priority.
Also, have a look at the js error console, there's a bunch of warnings.