We need to generate cacheable tiles from some map server - currently we're using geoserver using internally managed road network and other data.
It needs to allow us to get higher resolution tiles for higher resolution devices.
Clients will be openlayers and our own java desktop application(s).
What I've been told by one of my colleagues is: WMS-C does do variable dpi but it's not really a tile caching standard and is difficult to use. WMS-T and a similar standard use fixed (90dpi) resolution so will look nasty on the target high resolution devices. Proprietary systems (google maps etc) use variable dpi (or multiple pre-defined dpi?) in their apis and so look good.
Assuming the above is correct, can anyone suggest a good route forward? I can switch to something other than geoserver if necessary - though we can't afford an expensive proprietary system.
Besides serving tiles we may also want the server to serve vector data though this is "nice to have" not a requirement, as we can already serve the vector data in wfs through a simple server app we already have.