Rendertime LOD

Hi all.
I can’t find out how to do something so I thought I’d post.

I have a HUGE array of objects which slows down animation in the viewport. What I’d like to do is have them displayed as something else (like a simple cube or another mesh that is only a string of verts etc) but have them render as the original mesh, that is swap what’s seen in the view for something else at render time. A rendertime LOD thing.
I don’t mean, display as bounding box, and I don’t want to manually have to switch it on and off. Is there any way to do this?

What would be good would be a modifier that has 2 slots for mesh data, one for display and one for render.