by mh » Tue Apr 17, 2012 7:41 pm
Optimal texture size depends on how many textures you have in your map and how much video RAM you have. If you exhaust video RAM your driver will swap them out to system memory and then swap them back in to video RAM again when they're needed next. This sounds fine in theory, but in practice it gives a worst case of needing to swap an entire texture set if you do a 180 degree snap-turn.
Hardware limits on texture size still exist, but on anything reasonably modern you're unlikely to ever hit them. They're also nowhere near as important as the above. Just be aware of them and hope that your engine can fallback gracefully (e.g by downsizing the texture).
For a typical-ish Quake map with maybe 50 unique textures, using 256x256 textures will give you about 18mb of video RAM usage (that's assuming no normal/gloss/luma/etc). You're also going to need headroom for the framebuffer, depth/stencil buffer, lightmap textures, MDL and SPR textures, and other non-map textures (console/menu/sbar), as well as for anything else the driver may allocate (e.g. it may be emulating immediate mode via a dynamic VBO, or your engine of choice may use VBOs already). So I'd say that this size seems good for a 64mb to 128mb video card.