Hello, thanks again for responding,
I appreciate it very much.
I see it seems not a wise path. Nevertheless, I have a couple of additional questions, just for the sake of ruling this out and/or understanding more of the matter. Don't mind my stubbornness, please.
You say it would be a few minutes to compute the first cell on launch. I assume you are talking pure vanilla? You are talking CPU or GPU? If CPU: Couldn't we “pass” pure CPU instructions to the GPU, with the stuff “general-purpose computing on graphics processing units” (GPGPU).
More on that. Couldn't we apply GPGPU to process different threads like audio, physics, texture loading, meshes loading, background cell loading, partition the rendering calls / rendering draw calls between threads, etc.? (I mean for instance partitioning each frame into four squares and rendering it in 4 threads, or 8 threads or what is available in the CPU or GPU).
I remember in 2006 or so I used 3dsmax with my laptop and normal computer and set it up to render a scene half top in the normal computer and low half in the laptop, for instance.
I doubted of my memory here, so I asked ChatGPT again, yes, I was correct:
could you set up 3dsmax to render half scene in one computer and half on another, right?
Yes, it is possible to set up 3ds Max to render half of the scene on one computer and the other half on another. This process is called "distributed rendering", and it allows you to split the rendering workload across multiple computers, which can significantly reduce rendering times.
Returning to my first point: With GPU or GPGPU a vanilla first cell could be occlusion-computated in less than minutes?
Even if it couldn't: couldn't we run the computation in the background and let the player begin the game and continue computing in the background and “switch” in real-time when the computation is done? And cap the % GPU consumption or memory to a certain % selectable by the user? Or, of course, give the option to disable this stuff to the user.
Would be a significant gain of FPS when it's done? Specially with heavily modded builds.
Now I read Octrees would be better (in my understanding) than BSP trees, for OpenMW, quoting ChatGPT:
“Both Octrees and BSP trees are commonly used for occlusion culling in computer graphics, but which one is better depends on the specific application and its requirements.”
…
“In general, octrees are better suited for large-scale environments with a high density of objects, while BSP trees are better suited for indoor environments and complex geometries. However, both data structures have their strengths and weaknesses and may be more or less suitable depending on the specific application.”
Here, he/she calculates octrees in a complex geometry in order of milliseconds:
https://www.youtube.com/watch?v=Qb93QSvxXrs
Here it goes from 20fps to 9000fps with octrees:
https://www.youtube.com/watch?v=DoHPx5RQ7P4