No, it will not be the same. That’s my point.
When submitting all map geometry in a single pass, several things happen:
1 - all intersections are covered once. For example, if you drew the paths with 50% alpha on a solid background, you’d notice the intersections (where 2 lines cross) are the same color as the rest road. If you drew the roads one by one, the intersections would be a different color than the rest of the road. The computation to find and eliminate these intersections takes some time (In general, it’s not linear time with the number of coordinates) - it could be part of the problem. Since you’re probably not going rendering the roads with not full alpha, the final result will look no different either way. This may not make a huge difference (especially with small amounts of geometry [in fact it may be slower due to the overdraw]), but for 18,000 segments you might start seeing some gains. Experiment to see if it makes a difference.
2 (and most importantly) - you are, in all likelihood, attempting to render much more geometry than is necessary. All vertecies will never-the-less have to be transformed and clipped. It’s a giant waste of processing power. If you have zoomed out far enough to actually be able to see almost everything, then things like short dead-end streets should disappear off the map at that distance. Controlling “Level of Detail” is all important in a map application. Don’t render too much, and don’t render bits that are off screen. Your application is much better suited for determining which roads can and cannot appear on the screen than the graphics driver. Also, by submitting a large section of “InsertName Rd.” you can keep it around in a separate OpenVG object, and re-use it. The driver probably has some caching mechanism to render the path quicker the next time around. If you are continuously changing the path data (i.e. continuously calling vgAppendPathData() to change what the visible roads look like), no such caching is possible and it will run slower.
I also recommend you try to find an optimization guide for your particular OpenVG implementation. Some drivers will be faster doing certain things rather than others (questions like: “will integer coordinates be faster than floating point coordinates for path data?” are all driver specific, and you’ll need to look to your driver vendor to finer points of optimization).