|
En la lista de codepixel se está hablando de esta extensión de nvidia para opengl . El tema es una aceleración del proceso actual de pintado. Normalmente se envía la geometría en VBO's, que hay que activar en el driver. Si tienes muchos objetos, hay que hacer muchas activaciones (bindings) de la geometría, lo cual puede ser costoso. Antiguamente, el enviar la geometría a la tarjeta era la parte realmente lenta, pero en las arquitecturas modernas, donde el driver sólo envía comandos a la GPU, el acceder a datos del driver es el auténtico cuello de botella. El verdadero problema, según han detectado los chicos de nvidia, es que simplemente acceder a la tabla interna del objeto en memoria, nos llena la cache de datos inútiles,y perdemos rendimient, porque la caché está contaminada. Para ello, estas extensiones permiten hacer el trabajo que normalmente haría el driver, esto es, acceder al puntero del objeto. Ahora podemos pedir directamente el puntero del objeto en meoria de la GPU (un puntero 64bits) y acceder a él directamente en shaders, binfdings, etc. Con lo que cambiar entre objeto (siempre que el shader se mantenga) es muy económico.
|