mov_vse

Started by DCelso, March 11, 2010, 12:15:39 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

#30
no se a que vino el comentario de las dinamicas y las estaticas... pero te equivocas enormemente... las dinamicas suponen una ventaja general con respecto a las estaticas...

las ventajas de una dinamicas son muchas, se cargan 1 sola vez en memoria y son usada por muchos programas... lo unico que tiene diferente cada proceso es el area de datos... pero comparten el area de codigo... se pueden actualizar sin necesidad de tener que compilar nuevamente tu programa... se pueden cargar las que realmente necesites... y no necesariamente ocupa mucha mas memoria, ya que el enlazador dinamico se encarga de cargar lo que necesita de las mismas (no tiene por que mantener tablas de simbolos o cosas que no necesita luego de la carga) y actualizar lo que tiene que actualizar, por eso que veas el tamaño mayor de archivos separados no significa que realmente eso ocupa en memoria...

tambien tienes que tener en cuenta cosas como simbolos de debug... que puede que las hayas tenido en las pruebas que hayas hecho para afirmar estas cosas...

creo que tu apreciacion es un poco apresurada...

pero bueno, creo que nos desviamos del tema.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

#31
Aha, todo lo que dices es cierto.
¿En qué ves que mi descripcion contradice a la tuya?
Todo lo que dije también es completamente cierto.

Puede que me equivoque pero a veces me parece que no lees detenidamente los post. :( (espero que no te lo tomes a mal, puede que sea yo el que no lo haga)
Por ejemplo, ¿leiste este?
Quote from: FreeYourMind on March 13, 2010, 06:50:24 AM
Fijate el lamer que soy, las libs siempre me han echo confusion, aún al día de hoy no se que difereencia hay entre libs y dll's  ;D
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

#32
es que en tu post has dado a entender que es infinitamente mejor usar estaticas... y que el uso de dinamicas era mas una resignacion que otra cosa...

eso has dado a entender en la redaccion de tu mensaje... quizas no lo leiste completo una vez escrito, y por eso no te diste cuenta...

yo lo he leido varias veces para no mal interpretar...

yo hablo de tu explicacion, no de que lo origino... pero bueno, eso fue un comentario de free, no una pregunta... pero nada...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

#33
Visto así, tienes razón.
Yo solo pretendía definirlas, no decantarme por una ni otra, intenté poner ventajas e inconvenientes de ambos.
Yo también me postularía en usar .dlls a .lib si fuera el caso :D.

En cuanto a el motivo de explicar ambos formatos fue porque entendí que free necesitaba saber la diferancia al poner esa afirmación.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

bien, mi respuesta fue mas bien porque se veia como dije, y no queria que se de una formacion erronea...

pero bueno, veo que fue buena la aclaracion ya que coincides en eso... solo que el post daba otra impresion...

vamos que tenemos otras cosas por hacer...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Con lo estatico y dinamico y lib/dll me has resuelto otra duda que nunca busque en google... Hablais tando de compilar estaticamente y dinamicamente y nunca pense que fuera eso, sencillamente linke las dll's porque no encontre las libs por ningun lado ni por internet, esque tengo incluso que poner todo el tipo de ficheros en el filtro porque al importar una lib, no te ponde el filtro para dll :)

Como se hace una lib en lugar de una dll para terminar ?

DCelso

Free, depende del compilador que uses, yo en eclipse+cdt en las opciones tengo una combo que dice static/dynamic/executable y dependiendo de la que elijas te configura las herramientas de compilación para generar un lib/dll/exe respectivamente. En las herramientas de compilacion GNU, hay una aplicación que se llama "ar" y a la que pasándole los ".o" te genera un ".a" que es el equivalente a los ".lib" que generan otras herramientas como visualc o borlandc.

En cuanto a este mod, tengo una nueva versión limpiada un poco más pero en windows vista no se ve nada en los dos ejemplos que adjuntó Drumpi, he probado con la vse.dll que viene en el bennupack pero hace lo mismo (gracias a dios no es culpa de mi modificaciones :D)
A ver Drumpi te adjunto nueva versión con la corección de la división por cero, pruebala y nos dices.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

Pon el código hombre que quiero mirarlo, o enviamelo por pm si la consideras beta ;D

DCelso

jurljurl, olee, los ejemplos de la vse que vienen en el bennupack funcionan correctamente. Algo anda mal en los ejemplos que nos pasaste drumpi.
he hecho pruebas de rendimiento entre el vse.dll del bennupack y el mod_vse.dll que he compilado yo y de media el mio sale un 20% más rápido, :D, así lo más drástico que he hecho es sustituir una funcion de logaritmo en base 2 que había hecho tristan a mano por la que viene en la math.h. Bueno, luego cambié post incrementos por pre incrementos que leí en manuales de optimización que eran más rápidos.

Free, el código aún no lo quiero soltar, voy a ver si lo organizo un poco, ¿tanta prisa te hace falta?, de todas formas en el bennupack puedes encontrar el portado por, supongo que, linkernel.(He visto que ha hecho trucos para no tener que tocar mucho el código usando "defines").

Drumpi, cuando puedas, a ver si me puedes hacer un ejemplillo simple de un mapa con un objeto que se gire automáticamente de 1 en 1, para ver si casca ahora algún ángulo. Yo, en las pruebas de los ejemplos que vienen en el bennupack (que son vse04.prg hasta vse08.prg) no he visto ningún error.

Lo que comentas de las líneas pues como tus ejemplos no me van pues no puedo buscar el motivo por los que fallan.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

Pues he probado los test que tengo y buenas noticias: sí, el fallo de los ángulos está solventado, ya no hace crash (pero hace un efecto similar a la gráfica de la tangente: si se aproxima por un lado la cámara empieza a apuntar cada vez más alto hasta el infinito, y si se aproxima por el otro hace lo mismo hacia abajo, por suerte es un rango de ángulos muy bajo).

Respecto a hacer otros ejemplos, no sé, intentaré hacer algo, pero es que los fallos que me daban incluso a Tristan le parecían extraños. De todas formas te adjunto unas capturas, todas de la misma escena, modificando la cámara, para que veas el tema de las rayas. Es como si leyera unas posiciones de memoria fuera del mapa, y por tanto, es posible que sea la fuente del error, lo que impide que te vaya en tu windows (vamos, que te detecta lalectura fuera de rango y se cierra).

También puedes probar a cambiar los mapas por los de los ejemplos: el primer test es sobre una vista en primera persona que se mueve en un mundo infinito, ajustando su altura al suelo, y el segundo es una prueba de juego de plataformas.

Ya de paso, si voy a hacer los ejemplos, hago la prueba que quería que hiciese Splinter en el otro hilo, pero necesito saber si preferís correr, saltar o volar ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

PD: ten cuidado, en el segundo ejemplo hay DOS pruebas distintas, la segunda es la más completa pues trae un sprite y dos botones más para mover la cámara, indispensable si quieres probar todos los ángulos (QA acerca y aleja la cámara, WS la sube o la baja y ED la desplaza a izquierda o derecha). En la primera prueba, las rayas esas se notan mucho menos ???
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DCelso

#41
a ver, he modificado con un poco de más cabeza el asunto de dividir por 0, a ver que tal ahora.

En cuanto a los ejemplos, he probado a poner logs y nada, parece que todo va bien, pero no se ve un carajo en la pantalla, solo las letras y muevo camara con asdw y el supuesto objeto con las flechas y nada no veo nada.
Los valores que veo al principio son:
250         1   16
3100             0
-90000          0
0                  0
¿es correcto?
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

Ahora se nota MUCHÍSIMO menos... pero en ESE ángulo en concreto sigue tendiendo a infinito, no se por qué. En su momento hice mi propia versión de VSE_TARGET mediante código Fenix, pero no se dónde andará, pero no funcionaba bien, porque hay modificadores de altura a los que no tenía acceso, y aunque en el plano horizontal sí iba bien, en el vertical era una chapuza. A ver si lo encuentro.

Por lo demás, tienes un fallo, no sé donde, porque ese valor -90000 a mi me sale positivo. Quizás por eso no ves nada: te has dejado la escena a la espalda ^^U

Pero prueba tambien el plataf3d_v2.prg, porque es otro código distinto/aparte.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DCelso

el plaft3dv2 no lo tengo :(
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

Juer ¿pero qué me pasa? ¿el proyecto me ha dejado tonto o que?
Pues nada, te lo subo, con todo lo que lleva, esta vez, con lo que pruebo en Bennu.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)