There is a very important distinction between vector images and bitmap images. Vector images, if we simplify a bit, are rendered by the client while bitmap images are being rendered by you.
This means that the application your sending the image to has more say into how it behaves. The end result is that you have following downsides:
- It takes more resources to make the image presentable
- In this case the rendered might opt to drop quality because it does not have enough resources to do it better.
- Each imaging system has its own set of quirks and flaws
- Makes it harder to be consistent
- You get the problems of a programmer
On the other hand there are some benefits of this:
- The image can be freely scaled and have more manipulative options.
- This is simply a result of the job done in the clients end so they can spend more time on computing pixels to gain a bigger picture if you send elements it knows how to scale.
- The data in many cases is smaller than the pixel image (though it does not have to be)
There not much you can do if a system has a buggy renderer. Your giving end application a choice and they can use that choice to make bad decisions.
Which is better
It depends on how well you can render your image and how much bandwidth you have at your disposal. It is certainly possible to do a better render than what the browsers do. Not really surprising one can do a better job than Illustrator also. But then you lose all the benefits of having a deferred rendering.
There is a third option.
If your not satisfied with the results you can always try to make your own rendering engine. With platforms that support webgl you can. See here for a example. But this is pretty hardcore and does not save you form implementation details.