Hello.
You follow the steps that have already been recommended to you to optimize the scene. Still, Blender performance for viewport animation is not good at all, there is still a lot to improve.
Next time maybe you should better use low polygon quad meshes to take advantage of OpenSubdiv hardware acceleration which is still in development (Subdivision modifier needs to be to the last of the stack):