Como dijo TheBuzzSaw, depende de muchas cosas, incluidas las implementaciones de los gráficos rasterizados frente a los gráficos vectoriales.
Aquí hay algunos métodos de gráficos vectoriales de alto rendimiento que se representan utilizando métodos de rasterización tradicionales.
Loop y Blinn muestran cómo representar una curva bezier cuadrática de gráficos vectoriales al representar un solo triángulo y usar las coordenadas de textura en un sombreador de píxeles para decir si un píxel está por encima o por debajo de la curva:
http: //www.msr-waypoint. net / es-es / um / people / cloop / LoopBlinn05.pdf
La idea básica es establecer las posiciones de las esquinas de los triángulos para que sean las 3 posiciones de los puntos de control, y establecer las coordenadas de textura en cada esquina para que sean (0,0), (0.5,0) y (1,1) respectivamente. En su sombreador, si la coordenada de textura interpolada (x * xy) es <0, el píxel está debajo de la curva, de lo contrario está por encima de la curva.
Puede ver una implementación falsa de él en shadowrtoy aquí:
https://www.shadertoy.com/view/4tj3Dy
En cuanto al segundo método, aquí hay un método de Valve, donde las distancias a una forma se almacenan en una textura, en lugar de datos de píxeles, lo que permite dibujar gráficos vectoriales mediante el muestreo de textura. ¡La decodificación es tan simple que podría implementarse incluso en hardware de función fija usando solo una prueba alfa!
http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf
Para darle una idea de qué tan bien funciona la segunda técnica, ¡esta imagen de bigote de 1024x768 se generó a partir de una imagen de origen de 64x32 que tenía un solo canal de color! (también conocido como 2 KB sin comprimir)
También escribí algunas cosas al respecto en mi blog:
http://blog.demofox.org/2014/06/30/distance-field-textures/
Aquí hay un ejemplo de código OpenCL para mostrar cuán simple es:
float alpha = read_imagef(tex3dIn, g_textureSampler, textureCoords).w;
float3 color = (alpha < 0.5f) ? (float3)(1.0f) : (float3)(0.0f);
Ambas técnicas son súper rápidas y difuminan un poco la línea entre el vector y los gráficos rasterizados. Se procesan utilizando técnicas de rasterización, pero tienen propiedades de zoom / escala como las técnicas de gráficos vectoriales.