Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: zupervaca en 08 de Julio de 2005, 11:23:21 PM

Título: En Managed Tambien
Publicado por: zupervaca en 08 de Julio de 2005, 11:23:21 PM
 es increible acabo de realizar una prueba sobre la velocidad de los cambios de estado del device y me he llevado una sorpresa, siguen siendo igual de lentos si iguales por ejemplo el ambient al mismo color que ya tenia establecido

el primer codigo es el doble de rapido con una gforce2, de 30 fps me baja a 9fps!!!
           for (int n = 0; n < 100000; n++)
           {
               if (col != System.Drawing.Color.White)
                   device.RenderState.Ambient = col;
           }

           for (int n = 0; n < 100000; n++)
           {
               //if (col != System.Drawing.Color.White)
                   device.RenderState.Ambient = col;
           }

¿como puede ser posible que en el managed no hayan hecho ya de serie una maquina de estados inteligente? tendre que volver a hacer una para c-sharp  (grrr)

saludos

Título: En Managed Tambien
Publicado por: BeRSeRKeR en 09 de Julio de 2005, 05:18:06 AM
 Parece claro que el manager de estados sigue siendo imprescindible... :D

Saludos.
Título: En Managed Tambien
Publicado por: tamat en 11 de Julio de 2005, 10:29:34 PM
 puedes explicar el problema? estoy empezando con C# y no entiendo a lo que te refieres
Título: En Managed Tambien
Publicado por: BeRSeRKeR en 11 de Julio de 2005, 10:35:31 PM
 Siempre se ha dicho (y es cierto) que los cambios de estados de render o textura son costosos para la aceleradora de ahí que muchos tengamos implementado un manager de estados que se encargue de evitar los cambios de estado innecesarios. Entonces lo que creo que esperaba zupervaca es que managed DX tuviera implementado internamente dicho manager que evitara esos cambios redundantes. Pero como se puede ver no es así, por lo que hay que seguir teniendo dicho manager.

Saludos.

PD: Direct3D tiene un manager incorporado (de hecho hay un ejemplo en el SDK sobre ello), pero nunca lo he probado.