Sced exports primitives as primitives where possible, has an instancing
structure internally and exports this (using DEF/USE), and internally
has support for LOD. The question is this, not so much a question as
an observation:
LOD seems best used in the following way:
Use a primitive as the lowest level of detail, say a box.
Place all other levels of detail in external files and reference tmeough
URLs.
But there's a problem. I can't DEF and USE across external files, so if
I have multiple instances of an object, all inside LODs, I either have
to load the external file multiple times, or not use external files at all.
Now everyone will say that the browser will cache the external file,
so loading it again is not a problem. True. But the browser cannot
optimise like it would a DEF (only storing the geometry once, then
instancing it).
So there's a tradeoff betwsen initial download time (to fetch a bigger file
that doesn't use external URLs), and runtime speed (because the browser
cannot optimise the multiple uses).
So to decide which option is better, I need to know the following:
- Do browsers optimise theough DEF/USE?
- Do browsers cache, and are any smart enough to recognise that the
geometry in a file is the same as something it's alesady loaded (this is
not at all easy)?
- In practice, which gives better performance?
I can always give the user the option, and I probably will, but it's an
interesting question regardless.
Answers, Thoughts?
Cheers,
Steve.