Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





TUTORIAL para usar tecnologia mmx

Iniciado por x-alien, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

x-alien

                                pos eso a kien le interese k sus programitas chuten mejor os recomiendo
sigais los pasos de esta web...
es muy interesante

http://www.angelcode.com/articles/mmx/mmx.asp

saludos!!!

                               
oy Grafista, no Programador, aun así programo mejor que un 'programador'

DraKKaR

                                Vale la pena meterse a programar ensamblador para optimizar hoy en dia? Alguno lo hace? No es mejor invertir ese tiempo en utilizar o optimizar buenos algoritmos?
Incluso desde el Quake3 creo ke no se usa nada de ensamblador. Y el Quake2 solo usaba ensamblador para implementar el renderer por software, por hardware creoke no usaba ensamblador tampoco.

Creo ke desde ke se hizo indisopensable la aceleracion por hardware, se acabó el ensamblador... bueno hasta ke salieron los vertex y pixel shaders..... Aunke ahora creo ke con la llegada del GC...

De todas formas, muy interesante el articulo.                                

synchrnzr

                                Pues anda que no se utiliza ensamblador para programar consolas aún... (ahora pondría el caso de la GameBoyAdvance... ^_^')

Sync                                

sés

                                SIEMPRE merecerá la pena optimizar en ASM.

Precisamente porque la gente ya no se preocupa, todo requiere cada vez equipos más potentes.

"Esta función la dejo así"... "esta otra también, no va mal"...

así, función a función... el código acaba con un montón de cosas sin optimizar.


OJO, tampoco digo de hacer muchas cosas en ASM, peor joer, hay cosas que si merece la pena.                                
Soy indeciso... ¿o no?

Emotion

                                el ASM siempre estara ahi para ser usado, porque te permite 'hablar' con el hardware directamente sin intermediarios. Los lenguajes de alto nivel son muy eficientes a la hora de definir y resolver problemas de una cierta complejidad, a traves de la abstraccion, pero la mayoria de lenguajes (incluyendo el C++) son incapaces de acceder al hardware con total libertad, como mucho accederias a los registros del procesador, pero no mucho mas

ademas, el ASM es muy util a la hora de realizar ciertas tareas, como por ejemplo intercamabiar numeros (muy util para intercambiar direcciones de memoria y no tener que hacer memcpy's por un tubo para intercambiar dos buffers en memoria), precesar vectores (las instrucciones SIMD son fantasticas, yo las uso para procesar mis vectores de 4 componentes y lo hace de una pasada y ademas en un solo registro), generar texturas o mezclarlas, y muchas cosas mas, pero lo importante del ensamblador es su capacidad para ejecutar ciertos procesos con una rapidez que, evidentemente, el lenguaje de alto nivel no tiene...

bueno, al menos esta es mi opinion, a mi el ensamblador me gusta, y creo que lo he dejado claro :sonriendo:

ASM rules!!                                
G3: Get the Power!

ethernet

                                Creo q pocas personas puede sacar mejor codigo q un compilador de c/c++ actual, puede q en ciertas partes del codigo merezca la pena, pero por lo general asm es inutil(glDisable(GL_FLAME);).
Aprovecho para decir q si teneis la oportunidad de probar el compilador de intel para c++, lo probeis. Se instala en el IDE del vc6.0 y en .NET.
Saludos                                

Emotion

                                bueno, es cierto, los compiladores de C/C++ cada vez estan mas afinados, pero aun no del todo, asi que aun hay hueco para el ASM.

glEnable(GL_ENGINE); :lengua:

pero cambiando de tema... creia que el compilador de C/C++ de Intel era de pago... hay una version de prueba?? porque espero que no sea como la version de prueba del VTUNE, que despues de tener que hacer lo del registro para que te mande el link al correo y despues de todo, no te baje nada porque dice que el link no existe :enfadado:

un saludo                                
G3: Get the Power!

ethernet

                                Si, es de pago, pero acaso el vc++ no lo es? seamos realistas, quien de este foro tiene el vc pagado (aunque sea la version de estudiante)?. Con esto no quiero dar pie a q la gente piratee ni mucho menos, pero no creo q haga mucho daño a nadie q pilles un programa pirata para hacer tus cosas (siempre q no sea para vender o similar).

Yo he probado el compilador de intel con un programa mio, un efecto agua con perlin noise, todo CPU, y en mi pc, un p3 800, sube la friolera de 40 fps (de 80 a 120) y en un amd 1700 sube unos 60 fps (hasta 200). Comprobaldo vosotros mismos, eso si el tamaño del exe sube unos 8kb (hasta 28kb).                                

_Grey

                                Mejor dedicarse a indicarle al compilador la optimizacion que deseais, hoy programar en ASM en las peceras es perder el tiempo, a dia de hoy los compilatas hacien mas que bien su trabajo, no quiero negar que en ASM sera todo mas rapido...... pero perder tanto tiempo en 2 frames mas por segundo..... que el codigo en C tambien es factible de ser optimizado!!

[Contestando a ethernet]
Yo tengo el VC++6.0standard, pagado, luego os quejareis que en este pais se piratea mucho y no vale la pena vender juegos :ojo:

Saludos.                                

ethernet

                                vale q tengas el vc pagado, pero supongo q no eres un chaval q usa el vc para hacer 4 holas mundo y abrir 4 ficheros, entre otras cosas porq alguien de esas caracteristicas no tiene dinero para comprar el vc (a no ser la version estudiante).
De todas maneras tener pirata el vc no impleca q te guste el pirateo ni q vayas a piratear juegos.

Repito q con este post no estoy defendiendo la pirateria.

Saludos                                

WhiteBlaizer

                                Pues mira, yo tg de pago el Visual Studio.net edicion profesional (version estudiante, sin manuales) y tb el visual studio 6, tb comprado... unas 20000 ptas cada uno...

Esta bien k los novatos se lo pillen pirata o algun compilador gratuito... total para el fiasco k se llevan como programador... todo el dia de aki pa alla en la red en busca del tan deseado codigo fuente de tal y tal :lengua:

El ensamblador no es antiguo para nada, y esos 2 fps k comentas se ganan solo en pantalla con un cubo... si pones en pantalla unos 20000 por ejemplo... la ganancia de fps es abismal... hoy dia nadie programa bien y los pocos k lo hacen... son considerados gurus... No hay nada mas k ver lo k dice ethernet...

Con en el ensamblador no se pierde tiempo, sino k lo ganas... y encima en mejorar el rendimiento y buen aprovechamiento del hardware, k hoy dia con tanta nvidia y ati  parece k el programador de verdad ya es un  dinosaurio... menos perder el tiempo con tanto cutre chat, tanto foro y tanta mierda y mas a lo k hay k darle.

Amen y todos a callarse la boca (mas bien dicho, no hagais ruido con el teclado aki y hacerlo en el visual o el borland :lengua:)

saludos desde un grafista/"semiprogramador"                                
etal Slug!!

BeRSeRKeR

                                El render de un cubo o 20K o lo que sea se realiza hoy en día a través de la API (Direct3D, OpenGL...) ya que las aceleradoras no se pueden programar a bajo nivel (y no me refiero a los vertex & pixel shaders). Así que tenemos que por muy bien que se programe uno su renderer en asm (un renderer por software se entiende) siempre irá "infinitamente" más lento (y ya no digamos si se intenta alcanzar la calidad gráfica que son capaces de alcanzar los bichos de hoy en día) que utilizando la aceleración que obtienes a través del API (gracias a la aceleradora claro). Así que tenemos que el asm se puede seguir utilizando para rutinas bastante concretas (rutinas matemáticas por ejemplo). Aún así el incremento de FPS debe ser poco si se ha desarrollado un buen código en C/C++. Es por esto que por ejemplo la versión acelerada de quake2 no contiene una sóla línea de asm...y la verdad no digo que no se pueda optimizar más pero a mi cuando jugué por primera vez con mi Voodoo2, P133Mhz y 32MB RAM, me iba como un tiro :riendo:

Saludos
                               
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

seryu

                                Esta claro qe cuanto a mas bajo nivel se programe mejor tirara.. y podeis llamar vagos a los programadores de hoy en dia (muchos lo son), pero parece qe se le olvida a todo el mundo qe ya no estamos en la epoca del spectrum, y hoy en dia hacer un videojuego conlleva un trabajo bastante mas pesado (y no solo en programacion pero bueno..).
Tpco estoy de acuerdo conqe siempre se gane optimizando en asm, la mayoria de las veces el compilador se sobra para hacer el codigo igual de rapido.

qe sueño XD                                

ethernet

                                Me niego rotundamente a decir q puedo programar mejores rutinas en asm q una persona q esta 8 horas al dia dandole caña a unas rutinas para eso. Me refiero a las personas q programa drivers y cosas en bajo nivel. Si alguien cree q puede q me avise. Otra cosa muy diferente es optimizar una parte del codigo con asm, pero eso no es programar en asm, por q no es ni un 1% del total del codigo.
Por cierto el post por encima del de berserker no es para hacerlo mucho caso. Ya me parece haber visto mas post cargados del señor de mas arriba. No convirtamos el foro en un sumidero de comentarios asquerosos, gracias
saludos
                               

DraKKaR

                                Por cierto, sabeis si el Visual Studio 6 hace algun tipo de optimizacion (o se puede activar) para distintas CPUs? Si hace optimizacion MMX, 3DNow!, SSE...?                                






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.