Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





BenchMark 01: Alien Invasion

Iniciado por Loover, 28 de Marzo de 2008, 10:06:10 AM

« anterior - próximo »

Loover

Ale, una nueva prueba: http://www.pixelartgames.com/temporal/ovnis.rar

En este caso quería dibujar muchos, muchos, muchos sprites a la vez y ver como se comportaba la librería. La demo muestra un terreno grande (puedes desplazarte con el ratón) que apenas se ve pues está cubierto por hileras e hileras de ovnis animados rotando.

Dentro del .rar, en la carpeta vc2008, hay dos ejecutables. Uno a una resolución tocha en panorámico (1440,900) solo os irá a los que tengais un monitor panorámico. El otro, 1024x768 en modo ventana, debería iros a todos.

Todos los objetos gráficos se dibujan independientemente unos de otros usando DrawPrimitiveUp. No hay instancing ni nada parecido. A mi me da unos 84FPS a  (1440,900). Usando DrawPrimitive me daba lo mismo, si acaso uno o dos FPS menos. Por lo que parece ser que para dibujar pequeños objetos haciendo varias llamadas, ambos se comportan igual, al menos en mi tarjeta.

El Vsync está desactivado (para poder ver a cuantos FPS llega), por eso puede que al desplazaros no quede muy bonito (temblará algo la imagen al no esperar al refresco del monitor).

¿Podrías probarlo por favor y comentarme cuantos fps os da? ¡Gracias!

IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

[EX3]

Cita de: "Loover"Todos los objetos gráficos se dibujan independientemente unos de otros usando DrawPrimitiveUp. No hay instancing ni nada parecido. A mi me da unos 84FPS a (1440,900). Usando DrawPrimitive me daba lo mismo, si acaso uno o dos FPS menos.
Viva la fuerza bruta :D

Weno, como tengo el macBook retirado temporalmente no me queda otra que hacer la prueba con el PC malucho de oficina que tengo en el trabajo :)

Si no me equivoco la maquina en cuestion es:
Intel Pentium 4 HT 3.00 GHz (aunque me aparecen dos procesadores, uno a 2.99 no se si es un doble nucleo primitivo :?)
512 Mb de RAM
Intel Graphics 82945G Express Chipset Family (Intel 945G Express)
Windows XP Pro SP2
DirectX 9.0c (sin actualizar seguramente)

La prueba a 1024x768 me iba a unos 74/75 fps constantes inclusive con el scroll en movimiento.

Cuando llegue a casa, si la tostadora del AMD se digna a arrancar antes de media hora (no todos los AMD sufren a 86º de temperatura y siguen funcioando :P) te lo pruebo en resolucion panoramica y con una GeForce3 con DirectX+Drivers actualizados al dia ;)

Salu2...

P.D.: 1440x900 es una resolucion panoramica estandar? por que creo mi monitor panoramico soportaban esta resolucion, que a lo mejor me equivoco (me sacas de los estandares 800x600 y 1024x768 ya me pierdo :lol:)
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Loover

¡Muchas gracias [EX3]!

Pues parece que te va bien, ¿no? No están mal esos fps para esa máquina.

1440x900 => Bueno, no sé si es standard (¿standard con respecto a quién?) pero es la resolución máxima que permite mi monitor y la resolución máxima que me dejan poner varios juegos (Counter Strike, Harvest Massive encounter, etc). En realidad es la resolución a la que mejor veo las cosas.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

[EX3]

Pues se me olvido comentarte pero si, para la chusta de maquina, la grafica integrada y lo mal que va ultimamente dicha maquina, creo que el resultado es mas que bueno :)

Sobre lo de las resoluciones, muchas graficas o monitores (creo que es el segundo quien lo define) soportan los estandares hasta 1280x1024 fijo (las mas antiguas, sobre todo las de 15' no pasaran de 1024x768), esto quiere decir que cualquier programa accedera a dichos modos si el driver y el hardware lo permiten. Despues comienzan a a񡤩r a veces resoluciones no estandares pero dentro del rango estandar (entre 640x480(VGA) y 800x600(SVGA) (y descontando los modos primitivos CGA y QCGA) hasta 1280x1024 (SXGA)) y otras resoluciones, varias panoramicas, dependen de cada hardware. Aqui te dejo un enlace de las resoluciones estandares y las derivadas que han surgido:

http://en.wikipedia.org/wiki/Display_resolution

Aun asi muchas resoluciones panoramicas estandares tampoco estan presentes en todos los monitores, por ejemplo, en el macBook 13' tengo 1280x800 (WXGA) mientras que mi monitor soporta 1280x720 (HD 720). La verdad que para 3D no tanto pero para 2D es un rollo calibrar muchas veces un juego para funcione en varias resoluciones, sobre todo si te fallan los calculos de escala como a mi, que intente implementar autoescalado para los modos de videos mas comunes y se me descuadraba todo :?

Salu2...

P.D.: Un detalle, esto de los modos de video solo afecta a modos de video a pantalla completa. En modo ventana puedes aplicar sin miedo cualquier modo que quieras o te inventes.
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Loover

Sí, es un rollo intentar hacer algo de autoescalado y tal. Creo que para un juego, lo más normal es a mayores resoluciones permitir (si es por ejemplo un RTS) ver más terreno, a la par que redibujas la GUI de una forma u otra según la resolución. La puedes dibujar con posiciones relativas al tamaño y así te funcionará en todas.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Vicente

Lo de permitir ver más terreno si el juego tiene multijugador es un peligro, tener más resolución no debería darte una ventaja competitiva :S

Un saludo,

Vicente

Loover

Diselo a los del Age Of Empires :D
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Vicente

Estooooo:

Intel Q6600 2.4GHz, 4GB Ram, 2x 8800GT 512MB, Windows Vista Ultimate 64, DirectX 9c (Agosto 2007)

90FPS

Espero que sea algo de tu librería porque si es de mi máquina me pego un tiro :p

Y respecto a los de Ensemble con el AoE: es una cagada igualmente :p

Un saludo!

Vicente

yens

Cita de: "Vicente"Estooooo:

Intel Q6600 2.4GHz, 4GB Ram, 2x 8800GT 512MB, Windows Vista Ultimate 64, DirectX 9c (Agosto 2007)

90FPS

Espero que sea algo de tu librería porque si es de mi máquina me pego un tiro :p

Y respecto a los de Ensemble con el AoE: es una cagada igualmente :p

Un saludo!

Vicente

No creo que sea de máquina.

A mi me da 70FPS a 1680x1050 con una 7800GT, San Diego 3700, 2gb de ram. Aunque mi PC no rinde todo lo que debería como ya comentara en otro post...

Loover

Hombre, 90fps, no está nada mal con la burra de sprites que hay en pantalla.

Habría que ver si con instancing la cosa iría mucho más rápida.


Lo del Age of Empires, jorobaba cuando algún colega tenía un ordenador mejor, y veía más pantalla :D. Pero es que un juego 2d, no hay otra manera si quieres dar diferentes resoluciones, porque para escalar los sprites simplemente mejor dejar solo una resolución. En el Harvest tb lo hacen como en el Age Of Empires. No recuerdo que hacía el StarCraft 1.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Vicente

Starcraft no te permitía cambiar de resolución :)

Respecto a los 90 FPS supongo que tu test está limitado por la CPU (solo aprovechará un core y cada core solo va a 2.4).

Un saludo!

Vicente

Loover

No tengo código específico para aprovechar los core, ni siquiera sabía que eso existía. Simplemente dibujo usando Direct3d y a correr.

¿Algún tutorial sobre eso de los cores?
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

AgeR

A mí la de 1440 meda una media de 50 fps bastante constante.

Athlon XP 2800+, 512Mb RAM, GF6200AGP 256Mb

Vicente

Para threading en .NET esta es la mejor página que conozco:

http://www.albahari.com/threading/

Pero para C++ npi, aunque muchas cosas son más de concepto que de lenguaje.

De todas formas si no has hecho la librería multihilo desde el principio, hacerla ahora multihilo me da a mi que es un jaleo descomunal :S (vamos, que no te merece la pena mucho).

Un saludo!

Vicente

AK47

20 € a que calculando todo en la CPU y enviando todo de golpe (en los batchs que se puedan) en un DrawPrimitiveUp va más rápido  :twisted: Incluso se podrian aprovechar los dual core actuales para hacer los calculos multitarea :)

Mis resultados:

En ventana: 73 FPS
A pantalla completa: [ ERROR ]    Error creating SDL window

Mi máquina:
Portatil Dell Inspiron 6400
Microsoft Windows XP Home Edition
Fabricante del sistema   Dell Inc.
Modelo del sistema   MM061
Tipo de sistema   Equipo basado en X86
2 Procesadores   x86 Family 6 Model 14 Stepping 8 GenuineIntel ~1829 MHz
Memoria física total   2.048,00 MB
ATI Radeon X1400 con 256 RAM de video

Mola ver tantos "ornis" a la vez jejeje :D






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.