how to speed up viewport FPS to play in realtime?
This question have been asked already but it's a bit old so I will sum up the things with Blender 2.8 in mind:

In User Preferences > Viewport tab

Disable anti-aliasings and multisamplings (you can keep the smooth wires in edit-mode though, if you don't try to playback in edit-mode).

In your viewport

Disable anything you don't need on playback. May it be objects that are not critical, collections, shadings, ... And disable the overlays (or at least the outline selected which is the heaviest by far).

Modifiers

If there are some you don't need, hide them.
Use the Simplify Panel in your render settings to lower your subdivisions, particles display and textures loads.

Physics

Unless they are critical to your animation preview, don't even load them in your scene (this if where having scene parts in different .blend files to link in a final .blend file is powerful). I think in 2.8 if you uncheck a collection, under the hood it's like not having it in the file, so maybe use that.
If you do need some form of physics, first make sure to use low quality preview settings if possible, and bake everything on your disk so it doesn't have to update all the time.

Animation editors

May it be the dope sheet, graph, timeline, ... They all eat a lot of resources when animating anything more complicated than a bouncing ball. So make sure to hide anything you can.
Use the filters to hide what's not selected or hidden, and what things you don't need to see there ever: