También es retrógrada pensar que no hace falta optimizar, pues las
máquinas ya son "demasiado rápidas". Eso es completamente falso y se ha
demostrado muchas veces. "Entre más tienes, más quieres".
Yo me inicié en estos negocios con una máquina Pentium 66, de 8 mb
creo, con la cuál podía abrir corel photopait 5 y hacer mil maravillas
(anda, y no recuerdo que se alentara ni tantito). Despues tuve una
Pentium 166 MMX y me corría el Quake 2 por software (con una tarjeta de
esas cutres de 1 MB). Teóricamente, con mi computadora actual de 1.1
GHz, ya debería poder hacer raytracing en tiempo real. Pero no...
Saludos.
--- qualopec@... escribió:
>
>
> _Personalemente_ me parece que codear en ASM es un atraso gradisimo y
> mucho mas cuando las maquinas que vienen (ya han venido :P) son VLIW.
> Una de dos, o sabes muy bien como funciona la maquina (unidades d
> ejecucion, tamaño del pipeline, politicas de saltos, algoritmos de
> planificacion....) y programas en asm o dejas al compilador que haga
> ese trabajo. Incluso los dsp que trabajan en tiempo real se codean en
> C y eso que son maquinas mucho mas especificas que un procesador de
> proposito general como los que tenemos en casa.
>
> No obstante no he dicho q eso no optimice, optimizara seguro, pero me
> refiero si merece la pena en cuanto a esfuerzo/resultados y si no
> habria que mirar antes cosas de algoritmos (que no depende para nada
> de la maquina) en vez de mirar detalles de codificacion. Que quede
> clara mi postura por dios, no estoy en contra de optimizar el war3d.
>
> un saludo
>
> > De:: "JOSE GERARDO PALMA DURAN, ESCUELA TECNICA SUPERIOR DE
> INFORMATICA" <jgpd16@...>
> > Para: war_3d@yahoogroups.com
> > Asunto:: [war_3d] Re: Re: [war 3d] Re: Re: [war 3d] Re: [war 3d]
> Pequeña mejor a en seno coseno y mas comentarios
> > BCC: 07/09/2004
>
> > Lo que dije "chupa maquina", son los castings de float a int,
> > no es coña es
> > una brutalidad, puede ser un cuello de botella para la aplicacion,
> el
> > compilador internamente llama a una funcion llama
> > _ftol().
> > Lo que yo hago es hacer esto
> >
> > _asm
> > {
> > fld f
> > fistp i
> > }
> >
> > donde f es el flotante e i es el entero.
> >
> > Por cierto lo de mi libreria matematica en un test que he hecho sin
> usar
> >
> > extensiones MMX o SIMD(todavia no las he metido), es un 1200% mas
> rapida
> > que
> > una en c compilada con visual studio 2003,(en cuestiones de
> optimizacion
> >
> > solo lo supera el VectorPC, que usa SIMD...), así que bueno tu
> mismo si
> >
> > dices que eso no va a optimizar.
> >
> > Lo del sonido ya lo tratare de adaptar a lo actual para que no haya
> que
> >
> > modificar nada. Lo del callback lo he usado en algunas demos mias y
> me
> >
> > funciono...
> >
> > Otro tema es reservar memoria con un gestor de memoria propio, y
> otra cosa
> >
> > es tambien alinear la memoria al tamaño de una palabra, asi
> evitaremos
> >
> > tonterias.
> >
> > Tampoco he visto si usamos 2.4 o 2.4f por ejemplo, (con 2.4f es mas
> rapido,
> >
> > evitas casting de double a float,(double 64 bits, float 32)).
> Tampoco me
> > he
> > fijado es cosas de divisiones, pero probablemente se pueda mejorar,
> como
> >
> > sabemos es mas rapido lo siguiente
> >
> > float x = 1.0f/valor;
> > for(int i=0;i<algo;++i)
> > inverso[i] *=x;
> >
> > que
> >
> > for(int i=0;i<algo;++i)
> > inverso[i]/=valor;
> >
> >
> > En todo el codigo en asm que he usado no he puesto ninguna
> instruccion
> > que
> > solo sea de intel o de amd, ya que no he usado extensiones tipo
> 3dnow,
> > o
> > SEE3, asi que debe funcionar en TODOS los ordenadores que sean
> compatibles
> >
> > con intel desde el 486 para arriba.
> > Hay alguna otras optimizaciones en asm, pero bueno paro por el
> momento.
> >
> >
> >
> >
> > _____________________________________
> > WAR3D -> <A HREF="http://war3d.sourceforge.net/"
> TARGET="_blank">http://war3d.sourceforge.net/</A>
> >
> > Si quieres cancelar tu suscripcion, envia un mensaje a
> war_3d-unsubscribe@yahoogroups.com
> > _____________________________________
> > Enlaces a Yahoo! Grupos
> >
> >
> > war_3d-unsubscribe@yahoogroups.com
> >
> > <A HREF="http://es.docs.yahoo.com/info/utos.html"
> TARGET="_blank">http://es.docs.yahoo.com/info/utos.html</A>
>
>