PDA

Ver la versión completa : Vamos a darle vidilla al 3D (sin olvidar el 2D, claro)



Electric Dreams
21/10/2005, 21:44
Bueno, como dije anteriormente, estoy programando unas librerias de cálculo 3D para procesadores ARM en ensamblador. Para las pruebas de rendimiento estoy usando una placa ARM7 de Samsung a 133Mhz, ya que no tengo GP32. Es la misma que utilizamos para fabricar los routers :)

Para optimizar el funcionamiento de las librerias estoy usando un formato numérico 16:16, menos preciso que el de A.r.C.h.e.R, que trabaja con un formato 32:32. Estoy convencido de que la perdida de precisión será aceptable y que se obtendrá un gran beneficio de rendimiento y ahorro de CPU.

Por ahora los resultados no son alentadores y están algo por debajo de mis previsiones (seguramente con un poco de dedicación mejorarán bastante), ya que con la CPU al 100% se consiguen los cálculos necesarios para mover solamente 6000 polígonos (unos 250 polis a 24fps) . Hay que tener en cuenta que estoy trabajando con un micro inferior, pero son resultados matemáticos en bruto y no incluyen nada más.

Sobre el hard de la GP2X lo tengo casi todo claro, solo que necesito saber algunas cosillas que supongo nadie sabrá: ¿Puede el 920t trabajar en modo ARM y el 940t en modo Thumb al mismo tiempo? Necesito información técnica de la interfaz del MMSP2, donde supongo que aclararán esas cosas. El modo Thumb permite trabajar con instrucciónes de 16 bits hasta un 40% más rápido que en el modo normal, por lo que me sería util contar con la posibilidad de usar el copro en modo thumb (mis rutinas trabajan con números 16:16).

Para terminar, deciros que A.r.C.h.e.R, Damizean y compañia están haciendo un gran trabajo. He visto una mínima parte del código y tengo que darles mis felicitaciones. ¡Seguid así! Cuando tengáis el juego en vuestras GP32 solo pensad que lo han realizado personas normales como vosotros. Animo y aprended a programar, porque así aprenderéis a expresaros.

una-i
21/10/2005, 21:51
Para optimizar el funcionamiento de las librerias estoy usando un formato numérico 16:16, menos preciso que el de A.r.C.h.e.R, que trabaja con un formato 32:32. Estoy convencido de que la perdida de precisión será aceptable y que se obtendrá un gran beneficio de rendimiento y ahorro de CPU.

Con 16:16 deberia de ser suficviente para los resultados intermedios, yo estoy trabajando asi, y depues para las cooredenadas d eobjetos "locales" se podra pasar a 8:8 o 9:7 para ahorar espacio y ganar algo mas de velocidad, recorando que los arm en las multiplicaciones gastan 1 ciblo por byte que tengan que multiplicar.



Por ahora los resultados no son alentadores y están algo por debajo de mis previsiones (seguramente con un poco de dedicación mejorarán bastante), ya que con la CPU al 100% se consiguen los cálculos necesarios para mover solamente 6000 polígonos (unos 250 polis a 24fps) . Hay que tener en cuenta que estoy trabajando con un micro inferior, pero son resultados matemáticos en bruto y no incluyen nada más.

Eso es que siempre es muy relativo sobretodo del numero de pixels por pantalla que ocupe el poligono.

Unai

Puck2099
21/10/2005, 22:02
Sobre el hard de la GP2X lo tengo casi todo claro, solo que necesito saber algunas cosillas que supongo nadie sabrá: ¿Puede el 920t trabajar en modo ARM y el 940t en modo Thumb al mismo tiempo? Necesito información técnica de la interfaz del MMSP2, donde supongo que aclararán esas cosas. El modo Thumb permite trabajar con instrucciónes de 16 bits hasta un 40% más rápido que en el modo normal, por lo que me sería util contar con la posibilidad de usar el copro en modo thumb (mis rutinas trabajan con números 16:16).

Mira aquí:

servidor: gp32spain.com
usuario: public_ftp@gp32spain.com
password: publico

Ahí subí toda la información técnica que me pasó Anna Hong, en concreto tienes 3 PDFs con un montón de información sobre los chips.

Lo relativo a la GP2X lo encontrarás en Programación\GP2X

Espero que te sea de utilidad :)

WinterN
21/10/2005, 22:38
¿Puede el 920t trabajar en modo ARM y el 940t en modo Thumb al mismo tiempo?

Pues la verdad es que en la documentación de MagicEyes no se menciona nada al respecto. Como yo tampoco se muy bien como va el Thumb tampoco lo tengo muy claro. Pero te puedo decir como funciona la comunicación entre ambos micros (o al menos lo que dice el documento).

Los dos micros operan de forma asíncrona e independiente (pueden trabajar a distintas frecuencias). La comunicación se realiza a través de 32 registros compartidos.(16 asignados cada micro). Cuando el 920t escribe en uno de los registros del 940t éste recibe una interrupción avisando de la llegada del dato, y viceversa.

Además, se dispone de una linea mediante la cual el 920t puede provocar un reset en el 940t en cualquier momento (¿podría cambiarse así el modo?).

El 920t también tiene un registro con el que se puede sumar a los 8 bits de mayor pero del registro de direcciones del 940t.

Más info en los documentos que tiene Puck2099 en el FTP ;)