Los sombreadores de vértices y fragmentos se ejecutan simultáneamente, no secuencialmente, y la GPU equilibra automáticamente la carga entre ellos, por lo que no es posible asignar significativamente tiempos específicos como 7 ms para uno y 1 ms para el otro.
Sin embargo, puede hacer un experimento simple para medir dónde se encuentra el cuello de botella: establezca la matriz de proyección de vista en todos los ceros para todas sus llamadas de sorteo. Esto hace que todos los vértices salgan a cero para sus posiciones y hace que todos los triángulos se degeneren; por lo tanto, cortocircuita todo el sombreado de rasterización y fragmentos, mientras mantiene todo el trabajo del sombreador de vértices (el compilador del sombreador no puede optimizar nada, ya que no sabe que la matriz se establecerá en cero en el tiempo de ejecución).
Cuando mide el rendimiento con las matrices puestas a cero, verá la cantidad de tiempo necesaria para ejecutar solo los sombreadores de vértices, sin ningún trabajo de rasterización concurrente o sombreado de fragmentos en la GPU. Luego puede comparar esto con la cantidad de tiempo necesaria para el renderizado ordinario de cada pase. Si las dos veces son similares, el pase probablemente esté muy ligado a los vértices; Si la representación de matriz puesta a cero es significativamente más rápida, probablemente esté unida a píxeles. También es posible obtener un resultado intermedio, lo que indica que el trabajo se divide de manera uniforme entre los dos.