The techniques to solve your issue and improve vector web mapping are:
Generalisation: The objects to display should be simplified/aggregated in order to adapt their level of detail to the visualisation scale/zoom. In theory, there should be on data layer for each zoom level. The best is to use a multi-scale database. See this question for an overview of existing generalisation techniques.
Spatial index service and vector tilling: Only data in the view should be transferred and displayed. To make it possible, a spatial index service (if the objects are small and compact) or pre-computed vector tiles (if the objects are big) could be used.
The best is to use all three techniques as explained in this excellent document !