One of the first issues that you can find is the you assign a material and suddenly the viewport becomes almost impossibly slow. What’s going on?
In 99% of the cases this is because you are using eevee on a heavy material, switch to Cycles, GPU compute.
Even if you have cycles selected as your render engine, remember that “Material Preview” is still using eevee so you have to change to “Rendered”
eevee is very slow with procedural materials, that’s why it will always be super slow with realistic and detailed materials. To deal with this issue I created Icons that are displayed on each material to help you identify which materials work well with eevee and when you should use cycles.
Alternatively you can always bake your materials and once baked you can use them with eevee at optimal speed, this is also recommended for scenes where you will be using multiple procedural materials to speed up your viewport.