Not yet and most likely not during this project :( It's quite experimental and there are lots of changes. For future projects I plan to work with more people, when production pipeline is stable, etc.
My biggest known offenders when it comes to performance right now:
1. Lack of LOD system (yeah, I know).
2. Lack of mesh optimisation. Both those points are related - everything is procedurally generated. And I mean, every single mesh, every vertex and triangle. Some of the places have a much higher trangle/vertex density than they should. I need to thing about a solution that would address that.
3. There are occasional hitches that are related to game loop. I need a few days to sit down (well, walk around) to catch as many cases and then investigate them to check, what can be done. If they can be fixed in an easy manner or not.
4. There is no system to suspend distant actors/objects. I have sparse (time-wise) advancement that helps a bit but if you are on one end of the level, all elevators (like 30 of them) go there and back all the time. That requires advancing logics, collisions, sounds and so on.
5. I will be changing the game to open world. This will require dynamic management of NPCs which means that there will be NPCs only in close vicinity. This should enrich the game a bit as the place should never feel empty (unless it should due to story/place itself). It should help with the performance. But then, creating a part of the level every minute or so might be an issue too - I need to find a way to do it really efficient (low-hanging fruit is "create a separate thread with the lowest priority and leave it for the OS").
6. I still don't like shaders. I know they should be simpler. I know that they seem to be too complex for the result they give. I know that you can have a better looking scenes with static lightning. But I can't go for "oh just add textures" as this is not that simple as it sounds. And just hiring a bunch of artists won't solve this :( Adding textures will make the whole generation longer and that's the last thing I want. I don't want to go into completely flat triangles either as it really doesn't work in narrow corridors. That's why there are those voxely "textures". Eh. I need a solution for that or just a proof that simplifying shaders more won't help that (actually they are much much simpler when compared to the PCVR version, for PCVR there are two texture readouts per pixel, for Quest there are none, it hits some fidelity but most of the people won't notice without a direct comparison)
Or maybe I could create a version that has some performance tools available that can be used to gather data about hitches. So at least I could delegate that?