Hide/disable proc meshes /lights that are not visible

Hi,

I’m having very low FPS on a scene that gets loaded at ‘begin play’. Procedural meshes components, lights, … are created. I notice that I’m having low FPS when I’m looking at a wall, that has a room behind it. In that room are are lights and more detailed procedural meshes.
Since I tried allready a bunch of stuff to reduce fps and that didn’t work, I’m now looking to ‘hide’ meshes that are not visible. Should I be using LOD for this?
If so how do I use them in c++?
Should I be disabling/hiding the lights that are behind a wall? What if the wall is transculent?