Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





[Ichi] Tecnologías

Iniciado por warwolf, 12 de Octubre de 2006, 04:08:48 PM

« anterior - próximo »

TheAzazel

Cita de: "seryu"
Cita de: "TheAzazel"
- Seryu, respecto a eso de que SDL es lento en windows... es un mito :). SDL en windows es casi tan rapido como usar solo DirectDraw. Esto lo he repetido en multitud de ocasiones y podeis consultar un programita que hice que se llama glSDLBenchmark donde podreis probarlo por vosotros mismos. Lo que me gustaria saber es...de donde ha surgido ese mito tan extendido... me recuerda a lo de hace tiempo: "No no, que los AMD son incompatibles!!" :P

No es ningun mito, en windows utilizan dx5 osea directdraw como tu bien dices que es mucho mas lento que utilizar 3d aplicada a 2d, aprovechando asi el hardware de la tarjeta mucho mejor.

Eso es cierto..pero de ahi a decir que SDL en windows es lenta!?? entonces SDL es "lenta" en todos los sistemas salvo que utilices glSDL!.

Yo me referia y lo entendi por el lado que su backend por software (ya sea volcando en windib, ddraw, etc..) era peor en windows que en otros sistemas y eso no es cierto ni mucho menos.

Allegro que yo sepa tampoco utiliza el hardware 3D en modo 2D. Si conozco varias lib que utilizan D3D para trabajar en 2D (LooverLib es una y HGE es otra) pero yo no comparo una lib trabajando en modo soft contra otra en modo hard...

A mi me quedan semanas para liberar la v5.0 con glSDL integrado y entonces hasta acelerara todo el 2D usando OpenGL :). Que bueno, no llega a ser el rendimiento igual a usar D3D u OpenGL en modo puro pero se acerca bastante y sobre todo...esta a años luz del modo software!!

Pues na, mito resuelto :P

warwolf

Vamos, que me estais contando que ahora mismo SDL (y CRM32Pro) trabajan más lento en modo hardware que en modo software... curioso teniendo en cuenta todos los avances gráficos en tema hardware que se han realizado.

Pero veo que tambien esto esta a punto de "arreglarse" con la v5.0 ;) mmm ¿se implementará tambien para trabajar en D3D? o no merece la pena ya que el rendimiento es practicamente igual que con OpenGL?

Harko

Hey TheAzazel hace tiempo que queria preguntarte algunas cosillas y ahora voy a aprobechar ahora que parece que estas activo :twisted:

- Que tipo de ficheros graficos se pueden utilizar en la CRM? Me refiero a extensiones, por ahora lo he hecho todo usando BMPs (no me pegueis :D) porque no estaba muy seguro.

- Hay una funcion que se llama SDL_SaveBMP que guarda la imagen que haya en una superficie en un bmp. Hay alguna otra para guardarla en otro tipo de formato? Esque ocupa mucho :P. A esta funcion le tengo que dar unas vueltas para encontrar la forma de que no me sobreescriba la imagen anterior jeje.

Mmm, seguro que tengo mas dudas pero ahora no me acuerdo. La proxima vez las ire apuntando :D

Cita de: "warwolf"PPD. Juer, si que es difícil esto de decidir que librerías utilizar y toda la pesca, no me quiero imaginar cuando intentemos alguna cosa en 3D donde la oferta es muuuucho más amplia :?

Calla, calla, no me lo recuerdes :roll:

Cita de: "warwolf"Pero veo que tambien esto esta a punto de "arreglarse" con la v5.0 ;) mmm ¿se implementará tambien para trabajar en D3D? o no merece la pena ya que el rendimiento es practicamente igual que con OpenGL?

Pues no creo que lo haga, ten encuenta que la idea es mantener tanto a SDL como a CRM32Pro como librerias multiplataforma y Directx no es precisamente conocido por ese "detalle". Aparte del tema de que cada X tiempo cambian la libreria de tal forma que ya no te vale para nada lo que habia antes, como va a pasar con la version 10 por lo que parece.

Harko.
-=Harko´s Blog=-
Fui el primer civil en probar el "Lord of Creatures" y ademas usaban mis cascos. :D

-=Portfolio=-

Alguno de mis juegos:
-=Feed The Frog=-

Neroncity

warwolf

Cita de: "Harko"

Cita de: "warwolf"Pero veo que tambien esto esta a punto de "arreglarse" con la v5.0 ;) mmm ¿se implementará tambien para trabajar en D3D? o no merece la pena ya que el rendimiento es practicamente igual que con OpenGL?

Pues no creo que lo haga, ten encuenta que la idea es mantener tanto a SDL como a CRM32Pro como librerias multiplataforma y Directx no es precisamente conocido por ese "detalle". Aparte del tema de que cada X tiempo cambian la libreria de tal forma que ya no te vale para nada lo que habia antes, como va a pasar con la version 10 por lo que parece.

Harko.

Mmmm a ver, SDL YA utiliza Directx, más concretamente DirectDraw. Su habilidad de ser multiplataforma es el hecho de que internamente (según en que máquina se ejecute) utiliza unas librerias u otras. Por eso la pregunta de si se dara soporto también a utilizar los drivers de D3D en windows ;)

Harko

No te acostaras sin saber una cosa mas :lol:
-=Harko´s Blog=-
Fui el primer civil en probar el "Lord of Creatures" y ademas usaban mis cascos. :D

-=Portfolio=-

Alguno de mis juegos:
-=Feed The Frog=-

Neroncity

TheAzazel

Uff, cuantas cosas!! :)

Espero no olvidar ninguna...

- SDL (y CRM32Pro) trabajan mas rapido en modo hardware. Lo que en modo software no hay ninguna restriccion y en modo hard hay que tener cuidado con un par de cosas. glSDL soluciona en gran parte estos problemillas secundarios. En concreto, en modo hardware hay que tener cuidado con las surfaces que tengan alpha(per surface o per pixel) ya que creo que no hay ninguna tarjeta grafica/drivers que soporte en ddraw en modo hard el alpha... glSDL si lo hace :P

- Sobre el tipo de ficheros graficos, nativamente y como ya sabes admite cargar y grabar en BMP. El EditorDPF ademas admite importar/exportar en PNG (por el canal alpha y para dar algo de compresion). Internamente, usa un formato propio que comprime mas o menos como un GIF/PNG. No inclui en CRM32Pro el soporte directo a PNG por temas de espacio pero bajo demanda no hay ningun problema en hacerlo, de hecho, incluso un TGA que podria ser util, tambien podria añadirlo de modo sencillo. JPG descartado por el momento ya que para juegos 2D (sin texturas) eso de tener que perder calidad no tiene tanto sentido...
Si quieres exportar a algun otro formato que no sea BMP... podria incluir el soporte PNG en CRM32Pro y asi tener la opcion de guardar tambien en PNG... convenceme :P

- El tema de un backend que use D3D esta en desarrollo... pero no para SDL 1.2, si no para SDL 2.0. Yo con usar glSDL en CRM32Pro que ademas es multiplataforma ya sera mas que suficiente...de DirectX siempre me he alejado todo lo que he podido y mas y por el momento seguira siendo asi. En velocidad...pues tal como indicaron pruebas con glSDLBenchmark... parece que en picos altos (1000,2000 fps) d3d era mas rapido que opengl pero eso podria ser por cualquier cosa extraña, a rates mas normales son practicamente iguales.

Creo que mas o menos esta todo no? jejeje

Me estas exprimiendo hoy eh? anda! las 6, me piro para casa que ya es finde!

Saludos

seryu

Cita de: "TheAzazel"
Eso es cierto..pero de ahi a decir que SDL en windows es lenta!?? entonces SDL es "lenta" en todos los sistemas salvo que utilices glSDL!.

Yo me referia y lo entendi por el lado que su backend por software (ya sea volcando en windib, ddraw, etc..) era peor en windows que en otros sistemas y eso no es cierto ni mucho menos.

Cuando lo probe y en mi experiencia SDL es mas rapida en linux que en windows. ¿Tal vez ya no sea asi?

Cita de: "TheAzazel"
Allegro que yo sepa tampoco utiliza el hardware 3D en modo 2D. Si conozco varias lib que utilizan D3D para trabajar en 2D (LooverLib es una y HGE es otra) pero yo no comparo una lib trabajando en modo soft contra otra en modo hard...

No pretendia decir que SDL era mucho mas lenta que allegro, perdona la confusion.

En cuanto a comparar librerias, yo prefiero compararlas por la categoria que por la cantidad de aceleracion que metan, que si es mucha, pues mejor para todos. Pero ni SDL es todo por software ni una que use ogl es todo por hardware. Para mi cumplen una funcion y es eso lo que valoro, a mi me da igual si ellas internamente utilizan buffers de memoria de video o incluso usan la gpu para calcular los "sprites" como poligonos o lo que sea. Yo lo que quiero es algo comodo y que funcione lo mejor posible.


De hecho, si alguno se ha quedado con la impresion de que desaconsejaba SDL, todo lo contrario. Solo habia comentado un par de impresiones de las dos librerias, no pretendia sentar catedra :wink:

TheAzazel

Es posible que cuando lo probaras, tirara mas rapido en linux que en windows... si hace bastante tiempo de tus pruebas casi seguro.

Digamos que primero optimizaron para "Linux" (ensamblador del gnu) y luego fueron portando a Windows ese codigo, incluso creo que hoy en dia, hay funciones que solo estan muy optimizadas para Linux, luego eso que dices, en determinadas situaciones es posible :)

De todos modos, voy a probar... como tengo los mismos ejemplos para linux que para windows... probare y ya te lo dire en la quedada del proximo viernes :P

Tambien parece que a mi no me mola Allegro... y bueno, tampoco es asi, hace mucho tiempo...por aquellos años del MSDOS y el Watcom.. utilizaba Allegro asi que tanto a una como a otra, las tengo bastante "cariño". El unico que me despierta todos mis males internos son las directX jejeje

Saludos!

warwolf

Bueno, gracias a todos, creo que el tema de SDL-Allegro-CRM32Pro (curiosa historia la del nombre :D) me ha quedado bastante claro.

Me quedan pendientes valoraciones del Lua (de momento solo hay una negativa) y si alguien tiene idea de la lib Boost

PD. Mmmm y a los que no vamos a la quedada nos quedaremos con las ganas de saber el resultado de tus experimentos?

seryu

Lua gusta mucho principalmente por la facilidad a la hora de integrarlo en tu programa.

Yo despues de probar unos cuantos me quedo con angelscript:

http://www.angelcode.com/angelscript/

senior wapo

Sobre lenguajes de scripts 2 cositas:

1- LUA es muy usado pero tienes el problema de no tener más que un tipo de dato numérico (coma flotante por defecto) con los problemas que ello implica para según que usos. Es pequeñito y se integra muy facilmente. Tiene JIT para x86, eso es un plus.

2- Angelscript casca en arquitecturas bigendian, como el MACOSX PPC.

Tira con LUA, pero ten presente el tema de los números. O metes un parche para que los números sean enteros de 32 bits (bye bye decimales) o tiras con floats.

nekosoft

Tras ver todas las explicaciones expuestas, como a warwolf, tambien me esta picando la curiosidad sobre la CRM32Pro, por lo que entiendo en principio nos resultará algo más sencillo terminar si usamos esta, así pues veo bien empezar por lo mas sencillo y luego meternos más de lleno con algo mas complejo. Ya tuve un primer contacto con allegro y no nos llevamos mu bien jajaja. Ademas para mi cuantas mas plataformas sea capaz de abarcar mejor, segun creo entender SDL abarca más.
 Saludos a todos

seryu

Cita de: "senior wapo"
2- Angelscript casca en arquitecturas bigendian, como el MACOSX PPC.

¿Estas seguro de eso? yo no lo he probado, pero que sepa, tiene soporte tanto para macos como ppc. ¿Tal vez hablas de una version vieja?






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.