Rendimiento de SDL y CRM32Pro
Varias personas me han preguntado por mail si existe diferencia en el rendimiento entre usar solo SDL o CRM32Pro y la respuesta es afirmativa. Ojo, que esto solo es cierto en modo software. En modo hardware son totalmente identicas.
Hace ya mas de un año me dedique a optimizar el memcpy para que utilizara MMX, tecnicas prefetch, etc. adecuadas para cada arquitectura de CPU actuales. El resultado es que una vez que inicias CRM32Pro y aunque solo utilices SDL, estaras usando automaticamente las mejores funciones para tu micro y ademas, dependiendo del tamaño de la copia, tambien utilizara unas u otras.
Esta diferencia no es muy grande en condiciones normales, pero existe diferencia. En condiciones favorables, por ejemplo bliteo consecutivo de superficies grandes(como un fondo de un menu), la diferencia es bastante mas dramatica, en algunos casos, casi el 80%. Pero como estos casos no nos interesan..(a quien le importa si el menu va a mas o menos fps??), voy a colgar una grafica de las pruebas que hice en su momento en el caso mas desfavorable que es muchas copias de sprites de reducido tamaño(16x16pixels) de un juego que esta desarrollando Ivo Wubbels que casualmente, descubrio un bug serio de rendimiento en el apartado grafico. Este bug existia en las versiones anteriores a la 4.90, en el resto, esta reparado :).
Cuando tenga mas tiempo libre, colgare en la web otro benchmark sobre velocidad de bliteo de sprites para que podais comprobar en vuestros propios equipos la velocidad de solo SDL, de CRM32Pro y quizas para comparar, algun backend por hardware como ddraw y glSDL.
“Este bug lo contenian las versiones posteriores a la 4.90 y desde esa version fue solventando por completo :).”
Creo que esa frase tiene un bug 🙂
si, tenia un bug pero en la version actual ya esta reparado 😛
y ahora en serio…te has leido la entrada! mañana te invito a mcnuggets ejjeje
bye