Watching different .gltf/b model on changing camera direction

Hello, Recently I’m working to optimize my large model and I get a good solution to merge all meshes together to get better FPS. And finally getting good FPS too, but I’m facing one issue that when I’m going closer to that model fps is dipping so high (approx from 32 fps to 8 fps).
So for preventing this I got some ideas:

  1. To use addLODLevel so that for different distances I can use different models.
  2. To splitting my model into 4 parts and then from different camera angles/directions I can show different models (For Example: If I’m watching a house so from the front side I’m able to show the front model of my house and if my camera is watching from the back so I’m able to watch only back model then the front model should be disposed or not visible.).
    So please suggest to me what could be a better way to do this. Or if any other better thing is available to achieve this then please let me know.

This is really strange behavior which usually highlights GPU bottleneck (not cpu in this case).

Did you profile your app ?

No, I didn’t but one thing I know is that there are two major models that I need in my scene and both of the models is big. When I’m removing both I’m getting better FPS. So, it’s not an issue of another thing.
I’ll do profiling and let you know also I have constraints with GPU too in this system we have only integrated GPU which is not performing well.