You could try canvas renderer, that improves rendering speed (but has several other disadvantages, like problems with selecting feature etc).
Also, usually so big datasets are displayed through WMS service (rendering is done on server side), are there any particular reasons, why you can't do that?
To reduce point count on map, you can use clustering strategy (http://dev.openlayers.org/releases/OpenLayers-2.12/examples/strategy-cluster.html). Since 14000 features is quite a lot, it may still be slow because of clustering computations.
Also, you can write some point reduction code yourself. For example: store all features in array. Figure out, how you want to reduce features - by some attributes, by viewport boundary, etc. On certain map events (like moveend, when you are restricting by viewport; on zoomend, when you are doing kind of zoomlevel-based clustering) remove all features from layer and add reduced set of new ones, that are read from array.