Q:

Is it only possible to display 64k vertices on the monitor with 16bit?

I did the first 3D tutorial over at riemers.net and stumbled upon that my graphic card only supports Shader 2.0 (Reach profile in XNA) which means I can only use Int16 to store the indices (triangle to vertex).
This means that I can only store 2^16 = 65536 vertices. Also I read on the internet that you should prefer 16-bit over 32-bit because not all hardware (like mine) does support 32-bit.
Yet, I am wondering: Do really all game scenes get along with only so little vertices? I though already faces of people used a lot of polygons (which are made up of vertices?).
It’s not relevant for me yet, but I am interested:

Do game scenes use only 65536 vertices?
Do you use some trade-off to display more (e.g. 64k in GPU buffer rest on RAM)
Is there some method to get more into the GPU buffer? I already read on some other posts that there seems to be a limit of 64k per mesh too, so maybe you can compact stuff to meshes?

A:

This means that I can only store 2^16 = 65536 vertices.

No it doesn't. It means that you can only use 16-bit indices (assuming it even means that, as I'm fairly sure D3D9 allows 32-bit indices. That's what the INDEX32 index buffer format means, right?). Which means that a single draw call can only access a 16-bit range of indices. But you are not limited to a single draw call for the entire scene. That's one reason why DrawIndexedPrimitive has the BaseVertexIndex parameter, which allows you to bias the index for a rendering command by a fixed offset.
You don't have to draw everything in one draw call. So even if you were limited to 16-bit indicies (which again, you are not), you could still make several draw calls to render what you needed.

