why is playback really slow, but scrubbing really fast?
When you manually scrub you´re forcing the playback to update on current frame. But when playback is set to play by default it will calculate vertices, deformations (armature) and other effects.
If you´re on 2.79 blender, make an OGL capture from the Render menu or by pressing this icon:

That will render a capture sequence to the OUTPUT directory you´ve set your files to OUTPUT from on your properties->scene->render output on your blender file (panels to your right side of the screen).

Thank you for your consideration to vote me as the answer by clicking to the left :the icon with a check mark and upvote this answer.

BFCT_Schiller