Not sure how helpful it would be, but I would recommend using some kind of a LOD system.
Browser environment looks more and more like native desktop environment, but there are a bunch of security considerations. For example, what if somewhat wanted to load your GPU memory with gigabytes of garbage data and your graphics driver would crash, that would be bad. Or what if someone issued a giant shader to the GPU driver to compile, and that caused resource contention for other applications running on your computer?
In essence, the browser treats any web application as a potential malware. And you, as a developer of a web application, as a malicious actor. So, in this view, Chromium is arguably doing the right thing where FF is being too “nice” to your application at the cost of user’s experience.
On today’s hardware, I’d say that you’re loading more that 10 Million triangles on a single mesh - you’re probably doing something wrong.
A mesh with 10,000,000 triangles, would at worst require 30,000,000 vertices and 30,000,000 index values. That’s 360 Mb for vertex data (3 float32 values per vertex) and 120 Mb for index data, for a total of 480 Mb. And I would say that even this is too much for browser usecases, as you don’t know what hardware someone is running, and you can’t exactly push this amount of data over the network very easily. I mean - you can, but it will cost you, and you’re going to make the user wait a fair bit, so best to use a LOD system and work with smallest mesh possible.
I don’t mean going for 10 polygons per mesh, but at 10,000,000 triangles you already have polygon density of 5 polygons per pixel at standard 1080p, that’s pretty absurd. (1920 * 1080 = 2,073,600 pixels).
You should aim to preserve visual curvature, so some polygons will be necessary to prevent “polygonal” look for curved shapes. If you’re working with CAD-like models, you should generally treat those as a starting point for optimization, and apply some kind of post-processing to them to reduce polygon count to a reasonable amount.
This same concept applies to textures too, I see some people use 8k images to texture a 1cm screw in a large scene.
You might be doing something like a CAD application on the web, but if you do - I salute you, and take off my hat with condolences, as that is an uphill battle