Estoy empezando a usar COLLADA, investigar, implementarlo en mi motor etc. He dado con una curiosidad en el foro de OpenCOLLADA y es que parece ser que OpenCOLLADA presume de ser el exportador / importador más optimo que existe con mucha diferencia, según los videos de youtube parece que tienen razón, pero yo aun tengo que hacer mis pruebas y sacar mis conclusiones usando 3ds Max 2011.


AutoDesk COLLADA 30 segundos


OpenCOLLADA 10 segundos

No obstante parece que tienen obsesión por adelantarse al compilador o intentar saber más que él. ¿Por qué digo esto? bueno hay ciertas macros de las STL para tener información de debug cuando el programa falla, esto provoca que se haga un “check” de ciertas cosas que obviamente consume CPU. La macro en discordia es _HAS_ITERATOR_DEBUGGING y desarrolladores que lo usan están recomendando el asignar esa macro a cero. Esta macro es bastante básica así que estaba seguro que debía estar incluida en las opciones de compilación del Visual Studio, en concreto /O2, que permite aumentar la velocidad del código en detrimento de información de Debug, cosa que en modo Release no hace falta. Así fue, en un post de Microsoft confirma que esa variable es auto-asignada con el modo de compilación /O2 por medio de otra macro mucho más interesante que la anterior, _SECURE_SCL.

Supongo que cuando a alguien le dio algún error en el código iterando por un vector u otro contenedor de las STL vio esa macro y quiso investigar, seguramente la definió en el proyecto en modo Debug y vio que el rendimiento general de la aplicación aumentó muchísimo. Yo creo que hay que tener bastante precaución con estas cosas, sobre todo y normalmente cuando asignamos las propiedades correctas en el compilador debemos fiarnos de que el equipo de programación es capaz de optimizar más y mejor con una opción que nosotros experimentando.