Entrar
¿Usuario nuevo? Regístrate
war_3d · War 3D
? ¿Ya estás suscrito? Entrar en Yahoo!

Consejos de Yahoo! Grupos

¿Sabías que...?
Puedes determinar el orden de los mensajes. Pulsa el enlace en la columna correspondiente a la fecha. Tus preferencias serán guardadas y no tendrás que introducirlas de nuevo.

Mensajes

  Mensajes Ayuda
Avanzado
Re: [war 3d] Re: Re: [war 3d] Re: [war 3d] Pequeña mejor a en se   Lista de mensajes  
Responder | Reenviar Mensaje #775 de 894 |
Re: Re: [war 3d] Re: Re: [war 3d] Re: [war 3d] Pequeña mejor a en seno coseno y mas comentarios

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.




Mar, 7 de Sep, 2004 11:53 am

jgpd16
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje

Reenviar Mensaje #775 de 894 |
Desplegar mensajes Autor Ordenar por fecha

ah y por cierto, he criticado las aportaciones pero en ningun momento he dicho q sean malas (salvo lo del callback, pero esta argumentado) y me he interesado...
qualopec@...
Enviar mensaje
7 de Sep, 2004
11:01 am

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...
JOSE GERARDO PALMA DU...
jgpd16
Sin conexión Enviar mensaje
7 de Sep, 2004
11:53 am
Avanzado

Copyright © 2009 Yahoo! Todos los derechos reservados.
Política de Privacidad Actualizada - Condiciones del servicio - Directrices - Ayuda