Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





problema al recompilar con el update

Iniciado por perrofeo307, 23 de Octubre de 2007, 06:00:37 AM

« anterior - próximo »

perrofeo307

Hola, bueno primero felicitarte por tu excelente trabajo!!!!!  :D

Probando la nueva versión del CRM32Pro(4.99), encontre que me trabaja excesivamente lento  en OpenGL :shock: .
Los proyectos que tengo, ya tienen algun ratillo y he estado usando CRM32Pro desde la version 4.8, con las cuales funcionaba perfectamente.
y cuando recompile y cambie la DLL me lleve la sorpresa de que estaba muuuuuy lento, quite el openGL y pues va rápido, pero resulta que los sprites tienen algunas fallitas con el fondo, este no se actualiza  :? !
(también uso el MSSE V.90 y el editor de MIKE modificado)
supongo que con la función de autoreestore se deberia solucionar pero no.. alguna sugerencia????

Saludos, muchas gracias!!!

perrofeo307

Hola de nuevo!
Por cierto.. la función de
Sprites[IndiceSprite]->SetEffect(SPREFFECT_MIRROR ,1,0,0);
como funciona exactamente?
porque cuando la uso por primera vez, me gira el sprite correctamente, pero cuando lo quiero volver a girar, sigue igual, es decir solo lo puedo girar una vez... ¿debo hacer algo mas? ó ¿la estoy usando mal?

bueno gracias  :D   :mrgreen:

perrofeo307

Después de buscarle un rato, creo que el que tiene el problema con el OpenGL es el MSSE, porque cuando no hago las llamadas a
SE->Update();
todo me va fluido.  :P  esperare la versión oficial jeje

de nuevo, gracias.

TheAzazel

Hola!

veras, los efectos en los sprites no son acumulativos, solo es un efecto con la base del sprite original. En tu caso, de usar el mirror, no afecta para nada puesto que dos mirrors es como si no hicieras ninguno :). Esto afectaria en el caso que quieras combinar varios efectos: voy a rotar, escalar y hacer un flip.. aun y asi, algunas combinaciones si estan permitas ya que si al escalado le pasas un valor negativo, hara un flip en ese eje.
Es decir, en tu caso, el primer mirror y el segundo y todos los demas haran lo mismo...un solo mirror ya que usaran la base del sprite, la cual, no se altera :).

Respecto a ese problema de velocidad... si estas usando el MSSE con glSDL(CRM32Pro.VideoRenderer = RENDER_OPENGL), asegurate de usar la version para Visual Studio puesto que las demas no lo incorporan. Y en teoria, no he tocado nada de ello, luego lo que te iba rapido antes..te deberia ir igual ahora.

Otra cosa...el MSSE tal y como lo subi de pruebas creo que no funciona bien con la v4.99, lo mismo van por ahi los tiros..

Joer, veo que estas usando todo: CRM32Pro, MSSE, MapEditor, probablemente el EditorDPF jeje, te voy a dar un premio :)

Por cierto, se puede ver algo??? que tengo curiosidad!!

Saludos

perrofeo307

Saludos!!!

Sí, en efecto también estoy usando el Editor dpf
y pues para openGL uso.
CRM32Pro.Config.VideoWidth = 1024;
CRM32Pro.Config.VideoHeight = 768;
CRM32Pro.Config.VideoAccel = ACCEL_HARDSMOOTH ;
CRM32Pro.Config.VideoRenderer = RENDER_OPENGL;

Entonces, si necesito estar girando los sprites continuamente, ¿debo usar el sprite original y una copia de forma alternada?....

Lo que hago o intento hacer esta en:
http://bacsmar.blogspot.com/

:mrgreen:  Esperare la actualización del MSSE con ancia, jeje.
animo que tu trabajo esta excelente!!!

+----------------------------------------------------------+
¦         CRM32Pro SDK Win32 v4.99 (build 2800)            ¦
¦               MegaStorm Systems (c) 2007                 ¦
¦            http://www.megastormsystems.com               ¦
+----------------------------------------------------------+

· AAA - JUEGO

· Executing at Mon Oct 22 23:59:02 2007
· Running on AMD processor - Athlon64 (11) - MMX - SSE
· Selected 'Athlon64' optimized code path.

· CRM32Pro successfully initiated.

· Audio driver info:
  -> Driver: dsound
  -> Frequency: 44100Hz - Format: 16bit - Mode: Stereo

· Font information of 'Fuente':
     -> Surface of 284 Kb located at video memory
     -> Font size: 2429x30 - Color depth: 32bits - Kerning: 0
     -> Alpha blending: disabled - Colorkey: RGB(0,0,0)


· [ManejadorObjetos] Número Elementos
 ->Maestros: 0, Copia = 0, Colisionables: 0
· [MSSE_Core] Info: engine initialized.
· [MSSE_Core] Info: new render target assigned. Setting a new viewport.
· [MSSE_Core] Info: layer '2' has selected a new tileset.
· [MSSE_MapManager] Info: ImportImage() will try to cut a 1024x768 image into 64x64 tiles.
· [MSSE_MapManager] Info: ImportImage() uses an accuracy of %100 on tile matching (max pixels deviation 0).
· [MSSE_MapManager] Info: ImportImage() has found 192 uniques tiles from a total of 192(reduced to %100).
· [MSSE_Core] Info: layer '0' has selected a new mapdata.
· [MSSE_Core] Info: layer '0' has selected a new tileset.
· [MSSE_Core] Info: layer '0' has successfully been set up with:
                    - Map size of 16x12 tiles or 1024x768 pixels.
                    - The highest tile number is 192. Tile size of 64x64 pixels.
· [MSSE_Core] Info: layer '0' has changed to manual resource control mode.
· [MSSE_MapManager] Info: ImportImage() has successfully imported the given image.

· [MSSE_Core] Info: layer '0' enabled with '0x01' flag.

· [MSSE_MapManager] Info: ImportImage() will try to cut a 1024x768 image into 64x64 tiles.
· [MSSE_MapManager] Info: ImportImage() uses an accuracy of %100 on tile matching (max pixels deviation 0).
· [MSSE_MapManager] Info: ImportImage() has found 86 uniques tiles from a total of 192(reduced to %44).
· [MSSE_Core] Info: layer '1' has selected a new mapdata.
· [MSSE_Core] Info: layer '1' has selected a new tileset.
· [MSSE_Core] Info: layer '1' has successfully been set up with:
                    - Map size of 16x12 tiles or 1024x768 pixels.
                    - The highest tile number is 86. Tile size of 64x64 pixels.
· [MSSE_Core] Info: layer '1' has changed to manual resource control mode.
· [MSSE_MapManager] Info: ImportImage() has successfully imported the given image.

· [MSSE_Core] Info: layer '1' enabled with '0x01' flag.

· [MSSE_Core] Info: layer '1' has enabled its X loop attribute.
· [MSSE_MapManager] Info: ImportImage() will try to cut a 3072x768 image into 64x64 tiles.
· [MSSE_MapManager] Info: ImportImage() uses an accuracy of %100 on tile matching (max pixels deviation 0).
· [MSSE_MapManager] Info: ImportImage() has found 178 uniques tiles from a total of 576(reduced to %30).
· [MSSE_Core] Info: layer '3' has selected a new mapdata.
· [MSSE_Core] Info: layer '3' has selected a new tileset.
· [MSSE_Core] Info: layer '3' has successfully been set up with:
                    - Map size of 48x12 tiles or 3072x768 pixels.
                    - The highest tile number is 178. Tile size of 64x64 pixels.
· [MSSE_Core] Info: layer '3' has changed to manual resource control mode.
· [MSSE_MapManager] Info: ImportImage() has successfully imported the given image.

· [MSSE_Core] Info: layer '3' enabled with '0x01' flag.

· [MSSE_Core] Info: layer '3' has enabled its X loop attribute.
· [MSSE_Core] Info: layer '2' has selected a new mapdata.
· [MSSE_Core] Info: layer '2' has successfully been set up with:
                    - Map size 100x40 tiles(6400x2560 pixels) - Map type 'PanManMap'.
                    - The highest tile number is 15. Tile size of 64x64 pixels.
· [MSSE_Core] Info: layer '2' has successfully been set up with:
                    - Map size 100x40 tiles(6400x2560 pixels) - Map type 'PanManMap'.
                    - The highest tile number is 15. Tile size of 64x64 pixels.
· [MSSE_Core] Info: layer '2' enabled with '0x01' flag.


· [ManejadorObjetos] Número Elementos
 ->Maestros: 7, Copia = 14, Colisionables: 14
· [MSSE_Core] Info: engine sucessfully closed.

· Timer information:
     -> Execution time: 14.17s (15829 ticks)
     -> Total Logic Frames: 1028 - Total Rendering Frames: 1028
     -> Rendering Frame Rate: Unlimited - Last second 71 - Average 71.49.
     -> Logic Frame Rate: Unlimited - Last second 71 - Average 71.49.

· Graphics renderer info:
  -> Renderer: windib
  -> Video memory: 0 Mb
  -> Hardware surfaces: no
  -> Hardware color fill: no
  -> Hardware normal blits: no
  -> Hardware colorkey blits: no
  -> Hardware alpha blending blits: no

  · Main screen surface info:
    -> Resolution: 1024 x 768 with 32 bits.
    -> Surface is stored on system memory(RAM) and window screen

· [Debug] Info: Number of display formats 90 - Done 51

· [CTiles] Warning! your application have left 1 tiles without deleting.
· CRM32Pro successfully closed.

· [MSSE_Core] Info: engine sucessfully closed.


Este es un Log con el glSDL activado y el MSSE

· Timer information:
     -> Execution time: 9.36s (15738 ticks)
     -> Total Logic Frames: 3 - Total Rendering Frames: 3
     -> Rendering Frame Rate: Unlimited - Last second 1 - Average 0.32.
     -> Logic Frame Rate: Unlimited - Last second 1 - Average 0.32.

· Graphics renderer info:
  -> Renderer: glSDL
  -> Video memory: 0 Mb
  -> Hardware surfaces: yes
  -> Hardware color fill: yes
  -> Hardware normal blits: yes
  -> Hardware colorkey blits: yes
  -> Hardware alpha blending blits: yes

  · Main screen surface info:
    -> Resolution: 1024 x 768 with 32 bits.
    -> Surface is stored on video memory(VRAM) with double-buffer enabled and window screen.


· [Debug] Info: Number of display formats 30 - Done 29
:D  :D  :D  :mrgreen:

perrofeo307

Hola de nuevo.
bueno ya aprendí a usar los efectos jaja(:twisted:), y sin OpenGL funciona de una manera excelente!!!
void MTortuga::ManejarXOffScreen(){
VelocidadX*=-1;
if( VelocidadX > 0)
Sprites[IndiceSprite]->SetEffect(SPREFFECT_MIRROR);
else
Sprites[IndiceSprite]->SetEffect(SPREFFECT_NONE);
}

8)
Muchaas gracias por estos efectos!!! :D

TheAzazel

Amigo! ya se lo que te pasa :)

los efectos SOLO funcionan bien en modo software(en win32, con windib o directdraw en modo software). Al utilizar el modo glSDL... algo que yo no habia intentado porque pense que petaria jeje va LENTO LENTO LENTO, pero es porque tiene que descargarse las texturas a memoria de video, las modifica y luego las vuelve a subir, vamos, algo PROHIBITIVO como has comprobado.

Esos efectos funcionara bien con la v5.0 si consigo salvar un par de problemas graves, digamos que para el render a video se usaria opengl pero para comprobar las colisiones, tendria que seguir haciendolo via software... bueno, ya veremos como lo hago.

Veo que te has hecho con el MSSE :), si quieres, en vez de estar cargando imagenes cada vez(que tarda en convertirlas), graba el mapa al formato nativo y lo recargas de el que ira mas rapido :)

Te debo una cerveza por utilizar todas las herramientas :)

me molaria ver una demo de todo eso en movimiento asi que si puedes, mandamelo por mail a ver que tal va :)

Saludos!






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.