How to efficiently use 3D via a remote connection?

I have one weak PC (client) but with acceptable 3D performance, and one strong PC (server) which should be capable of running an application using OpenGL twice, i.e. once locally and once remotely for the client. Currently, I ssh -X into it, but the client’s console output states software rendering is used and I only get 3 frames per second (fps). Actually, ssh’s encryption is not necessary since this is on a LAN, but it’s what I already know for remote applications…