So, I performed a little FPS test using a very large road network of Varanasi district. I used OpenLayers and Leaflet.js and I wanted to see which one offered me a better performance when it comes to importing and displaying large road networks from a Geoserver into a thick client web map. I wanted to do this because I had developed a web GIS earlier in Leaflet.js and I was getting a very very bad FPS when I was importing the road network. I thought that maybe OpenLayers will be able to give me a better performance. Well, here are the results:
When I imported the large road network in Leaflet.js the FPS and RAM usage were as follows:
When I imported the large road network in OpenLayers the FPS and RAM usage were as follows:
It can be seen clearly that in both the cases the performance is not up to the mark. The web GIS becomes so slow that one cannot perform any operations on it. Even though in the OpenLayers screenshot it shows 24 FPS it kept fluctuating between 1 and 24. Same this happened with Leaflet.js. The GIS became very laggy when this vector layer got imported and the RAM usage shot through the roof in both the cases.
After having done this test I concluded that for now the best way to process large road networks would be inside a desktop GIS program or by using a thin client rather than a thick client. One more way can be to access some kind of WFS(T) service (T stands for tiled) but so far Geoserver does not offer this kind of service. It does offer WMTS for raster layers but no such service for vector layers.