You can start by lowering the scalability settings:
You can also lower the screen percentage to render in lower resolution: Screen Percentage Unreal 5 - #3 by Pawpatting
Disable Lumen, it’s enabled by default in UE5 projects for some reason: Lumen Global Illumination and Reflections in Unreal Engine | Unreal Engine 5.0 Documentation
Disable Nanite.
In Engine-Rendering-Default settings disable: Bloom, Ambient Occlusion, Ambient Occlusion Static Fraction, Auto Exposure, Motion Blur, Lens Flair, Set Anti-Aliasing Method to None, MSAA Sample Count: No MSAA.
Engine-Rendering-Optimizations settings disable: Render Unbuilt Preview Shadows in game.
If it’s still not enough, you can switch from the deferred to forward renderer: Forward Shading Renderer | Unreal Engine Documentation, which is lighter and misses some rendering features but is faster: sometimes GPU usage can drop down by 3-5 times depending on what’s happening in your level.
These should reduce GPU usage by around 5-10 times.
Then if it’s still not enough(but it should be. If you’re getting 45 FPS by default, you should be able to get to 150+ FPS with these tweaks mentioned), it’s also a good idea to profile your game and make sure that blueprints don’t kill performance, and you’re not doing something like GetActorsOfClass on every tick in blueprints, and also port gameplay code to C++, especially the code that runs on every tick. Also, minimize the usage of blueprints in general. For example, when a button is pressed, fine, you implement the UI itself in a blueprint, but only the UI: the button click handler should be in C++ and not in blueprints, since it’s not UI anymore.
That would be a start. And then: Unreal engine improving performance - Google Search
I’m sure there are many different other techniques you can apply to improve performance.