Could I use indexedDB instead of memory?

Intended for models that are fairly detailed and contain a large amount of geometric information.
oom occurs when a Chrome tab has more than 4GB of memory allocated. Is there a way to use less memory using indexedDB?
Or has anyone tried another method?
Simplification is difficult to apply.

What exactly is the question here? Which memory? Use for what?

Of course, it is used when rendering. We will use this to render a static model in the scene.

And if a model is too large, it will be subject to constraints contained in the link content, causing oom.
document

For models that take up too much memory, we want a workaround to avoid memory usage. Simplification is impossible. Because even if it is drawn in 3D, it must be viewed flat.

If you ask me what I’m doing this for, all I can say is company work. I just render a huge model without simplification, but oom occurs due to memory usage, so I want to solve this problem.

I don’t know of these limitations off the top of my head, but my reasoning is that an average machine has much more main memory than gpu memory. Not sure how you would draw this if you can’t even interpret a string representing it. Why don’t you break up your models into smaller pieces?

I don’t think IndexedDB is not going to help here. If it’s being drawn, it can’t be only on disk, it must be uploaded to the GPU, and I don’t know if it’s possible to keep resources in memory on the GPU without also keeping them in Chrome’s memory.

Just to check — you’re sure this is mostly geometry? Often textures are a cause of high memory use, they can occupy much more memory than the source images.

You might consider quantization (reduce float32 attributes to uint8 or uint16) to reduce memory overhead. Or if you don’t need to render the entire geometry at the same time, a tiled approach to loading and unloading geometry, such as OGC’s 3D Tiles.

1 Like

Is this OBJ? If your model is reaching maximum string length limits, I would strongly recommend using a more efficient file format.

1 Like

Yes, I’m sure. This is because the dxf file is read and triangulated, so the vertices are all there is.

It is not an OBJ file and is pure text.

1 Like

Well, try binary?

1 Like

Using a text based format can cost more than 10 to 100x more memory than an efficiently packed format like binary gltf.
I basically Never use any format besides gltf nowadays.

Even if you have to convert your DXFs offline on the server somehow to GLTF, that is your best hope at being able to view them in the browser efficiently… and that is what most web based 3d renderers/content generation tools do in some form or another.

1 Like